SQL Server:关于数据库查询优化具体措施

一、硬件方面:

1、添加更多内存。当服务器运行许多复杂查询且其中几个查询执行很慢时,此解决方案尤其有用。

2、使用多个处理器。多个处理器使 SQL Server 数据库引擎 可以使用并行查询。

 

二、分表(水平、垂直分割)或分区处理

 

三、语句优化:

通过分析执行计划去定位查询瓶颈;然后参照下面采取具体措施:

1、如果没必要,尽量少用模糊查询。%

2、不要通过通配符 * 查询所有列,明确要查询的字段列。

3、在查询中,尽量少用类型转换操作。

4、根据查询具体要求,适当的建立索引

5、使用临时表。尽量减少对物理表的访问。

6、尽量避免在WHERE子句中对字段进行函数或表达式操作,这将导致引擎放弃使用索引而进行全表扫描。

      即:任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边

7、避免使用!=或<>、IS NULL或IS NOT NULL、IN 、NOT IN等这样的操作符,因为这会使系统无法使用索引,而只能直接搜索表中的数据。

8、能缩小查询范围的条件字段尽量靠前

 

更多参考:sql查询优化该文

外延阅读:数据库设计原则:十四条

 

外延阅读中“总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三 个层次上同时下功夫。”这句话总结很好。

 

2012年11月26日

Kevin.Chen  苏州太仓

O(∩_∩)O~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗的小壁虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值