影响SQL Server性能的关键三个方面(3)

作者:yuanyou 来源:赛迪网技术社区 时间:2009-02-13 16:59:00 

3 查询语句的设计

SQL Server优化器通过分析查询语句,自动对查询进行优化并决定最有效的执行方案。优化器分析查询语句来决定那个子句可以被优化,并针对可以被优化查询的子句来选择有用的索引。最后优化器比较所有可能的执行方案并选择最有效的一个方案出来。

在执行一个查询时,用一个where子句来限制必须处理的行数,除非完全需要,否则应该避免在一个表中无限制地读并处理所有的行。

例如下面的例子,

select qty from sales where stor_id=7131

是很有效的比下面这个无限制的查询

select qty from sales

避免给客户的最后数据选择返回大量的结果集。允许SQL Server运行满足它目的的函数限制结果集的大小是更有效的。

这能减少网络I/O并能提高多用户的相关并发时的应用程序性能。因为优化器关注的焦点就是where子句的查询,以利用有用的索引。在表中的每一个索引都可能成为包括在where子句中的侯选索引。为了最好的性能可以遵照下面的用于一个给定列column1的索引。

第一:在表中的column1列上有一个单索引;

第二:在表中有多索引,但是column1是第一个索引的列不要在where子句中使用没有column1列索引的查询语句,并避免在where子句用一个多索引的非第一个索引的索引。

这时多索引是没有用的。

For example, given a multicolumn index on the au_lname,

au_fname columns of the authors table in

the pubs database,

下面这个query语句利用了au_lname上的索引

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_lname = ’White’

AND au_fname = ’Johnson’

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_lname = ’White’

下面这个查询没有利用索引,因为他使用了多索引的非第一个索引的索引

SELECT au_id, au_lname, au_fname FROM authors

WHERE au_fname = ’Johnson’

标签:影响,SQL,Server,性能
0
投稿

猜你喜欢

  • Mysql四种分区方式以及组合分区落地实现详解

    2024-01-23 05:05:25
  • Python连接mssql数据库编码问题解决方法

    2024-01-24 04:41:20
  • python字典一键多值实例代码分享

    2021-07-08 10:47:52
  • Oracle8i和Microsoft SQL Server比较

    2010-07-26 13:05:00
  • vue实现excel表格的导入导出的示例

    2024-05-10 14:10:22
  • 解决MySql8.0 查看事务隔离级别报错的问题

    2024-01-17 23:14:01
  • Python 读取图片文件为矩阵和保存矩阵为图片的方法

    2022-07-23 05:21:11
  • python学习之panda数据分析核心支持库

    2023-11-04 17:39:29
  • 在微信小程序里使用watch和computed的方法

    2024-04-10 16:16:40
  • Oracle建立二进制文件索引的方法

    2010-07-18 13:29:00
  • JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果

    2024-04-10 10:50:20
  • Python实现图像去噪方式(中值去噪和均值去噪)

    2023-04-15 15:38:13
  • python 等差数列末项计算方式

    2022-01-29 10:12:57
  • 基于Go和PHP语言实现爬楼梯算法的思路详解

    2024-05-22 10:18:20
  • MySQL数据库约束操作示例讲解

    2024-01-13 23:47:58
  • JS实现十字坐标跟随鼠标效果

    2024-04-22 22:43:00
  • 详解有关PyCharm安装库失败的问题的解决方法

    2023-05-17 11:06:33
  • 基于Python脚本实现邮件报警功能

    2023-02-04 17:16:41
  • go高并发时append方法偶现错误解决分析

    2024-02-13 20:30:57
  • 47个惊人的CSS3动画演示

    2010-02-07 12:32:00
  • asp之家 网络编程 m.aspxhome.com