仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1074|回复: 9
打印 上一主题 下一主题

[学习教程] MSSQL编程:优化SQL语句必要注重的4点

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。</p>1.只管不要对列名举行函数处置。而是针对前面的值举行处置
比方wherecol1=-5的效力比where-col1=5的效力要高
由于前面的前提对列值举行了盘算。如许的前提下优化器没法利用索引
而是要针对一切值举行盘算以后才干再对照
2.只管利用和数剧列一样的值举行操纵
假如col1是数值型
那末比方wherecol1=2和wherecol1=‘2&prime;
则前者效力更高
由于对照字符和数值型的时分
引擎必要把二者都转化成双精度然落后行对照
3.削减函数的利用
比方wherecol1>=‘2009-10-26&prime;andcol1<=‘2009-10-27&prime;
和wheredatediff(day,col1,getdate())=0
后者由于用到函数处置。以是col1上的索引又没法利用了
4.只管不要用OR
一样平常关于OR的前提
优化器一样平常会利用全表扫描
限制,如果WHERE子句的查询条件里有不等号(WHEREcoloum!=),MySQL将无法使用索引。类似地,如果WHERE子句的查询条件里使用了函数(WHEREDAY(column)=),MySQL也将无法使用索引。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-19 06:18:26 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
分手快乐 该用户已被删除
板凳
发表于 2015-1-26 22:39:35 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
不帅 该用户已被删除
地板
发表于 2015-2-4 22:35:42 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
小魔女 该用户已被删除
5#
发表于 2015-2-10 22:04:04 | 只看该作者
比如日志传送、比如集群。。。
简单生活 该用户已被删除
6#
发表于 2015-3-1 16:52:10 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
变相怪杰 该用户已被删除
7#
发表于 2015-3-10 21:19:42 | 只看该作者
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
蒙在股里 该用户已被删除
8#
发表于 2015-3-17 11:08:23 | 只看该作者
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
小妖女 该用户已被删除
9#
发表于 2015-3-17 11:08:23 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
只想知道 该用户已被删除
10#
 楼主| 发表于 2015-3-24 08:07:58 | 只看该作者
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 06:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表