当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 优化SQL语句需要注意的4点

MYSQL
经验分享:MySQL 中如何复位根用户密码
MYSQL基础知识 MYSQL数据库基础命令
连接 MySQL 数据库失败频繁的原因探秘
如何在MySQL中获得更好的全文搜索结果
滚开!别动我的数据库 MYSQL数据安全
MYSQL字符集:编程乱码问题的初步探索
一种不错的从SQL转Mysql数据库的方法
怎样在没管理权时修改MySQL的用户密码
把我的密码还给我 MySQL中的密码恢复
安全第一:使用MySQL要注意的23个事项
不许你无视我 解决MySQL忽略用户现象
轻轻松松解决MySQL中文件未找到的问题
如何解决Mysql无法创建文件/写入文件
爱写就写 Mysql避免表已满的错误出现
看的明明白白 表已满错误出现方式有数种
MySQL数据库中root权限丢失解决方法
MYSQL用户管理员ROOT弱密码攻击战
Win2K下配置asp+cgi+php+mysql
大家来优化 Sysctl、Apache、MySQL
PHP 和 MySQL 开发中要注意的8个技巧

MYSQL 中的 优化SQL语句需要注意的4点


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 75 ::
收藏到网摘: n/a

1.尽量不要对列名进行函数处理。而是针对后面的值进行处理

例如where col1 = -5的效率比where -col1=5的效率要高

因为后面的条件对列值进行了计算。这样的条件下优化器无法使用索引

而是要针对所有值进行计算之后才能再比较

2.尽量使用和数剧列一样的值进行操作

如果col1是数值型

那么例如where col1 = 2和where col1= ‘2′

则前者效率更高

因为比较字符和数值型的时候

引擎需要把两者都转化成双精度然后进行比较

3.减少函数的使用

例如where col1 >= ‘2009-10-26′ and col1 <= ‘2009-10-27′

和where datediff(day,col1,getdate())=0

后者因为用到函数处理。所以col1上的索引又无法使用了

4.尽量不要用OR

一般对于OR的条件

优化器一般会使用全表扫描