IT技术博客大学习 共学习 共进步

Sql语句优化注意

架构研究室 2009-11-11 23:49:21 累计浏览 2,561 次
本机暂存

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

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

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

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

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

    如果col1是数值型

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

    则前者效率更高

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

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

    这样col1上的索引就失去作用了

    3.减少函数的使用

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

建议继续学习

  1. MySQL数据库在实际应用一些方面的介绍 (累计阅读 36,321)
  2. 如何查找消耗资源较大的SQL (累计阅读 15,120)
  3. 其实,文件也可以truncate (累计阅读 8,500)
  4. 为什么字段尽可能用NOT NULL,而不是NULL (累计阅读 8,460)
  5. MariaDB常见问题FAQ (累计阅读 8,280)
  6. 搜索引擎的特殊用法 (累计阅读 8,040)
  7. SQL vs NoSQL:数据库并发写入性能比拼 (累计阅读 7,940)
  8. Mysql的随机读取 (累计阅读 7,800)
  9. MySQL优化 之 Discuz论坛MySQL通用优化 (累计阅读 7,660)
  10. 索引与优化like查询 (累计阅读 7,260)