|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。</p>1.只管不要对列名举行函数处置。而是针对前面的值举行处置
比方wherecol1=-5的效力比where-col1=5的效力要高
由于前面的前提对列值举行了盘算。如许的前提下优化器没法利用索引
而是要针对一切值举行盘算以后才干再对照
2.只管利用和数剧列一样的值举行操纵
假如col1是数值型
那末比方wherecol1=2和wherecol1=‘2′
则前者效力更高
由于对照字符和数值型的时分
引擎必要把二者都转化成双精度然落后行对照
3.削减函数的利用
比方wherecol1>=‘2009-10-26′andcol1<=‘2009-10-27′
和wheredatediff(day,col1,getdate())=0
后者由于用到函数处置。以是col1上的索引又没法利用了
4.只管不要用OR
一样平常关于OR的前提
优化器一样平常会利用全表扫描
限制,如果WHERE子句的查询条件里有不等号(WHEREcoloum!=),MySQL将无法使用索引。类似地,如果WHERE子句的查询条件里使用了函数(WHEREDAY(column)=),MySQL也将无法使用索引。 |
|