关闭

sql语句优化

标签: mysql
336人阅读 评论(21) 收藏 举报
分类:

        在sql里面有很多优化技巧,有时候能够实现相同功能的两段sql语句,查询性能却不相同,因此掌握一些高效的sql代码还是很有必要的。


      一、查询优化


          1. 减少记录集行数,避免select * 


          2. 使用exist代替in,例如:Select sno from stu where exist(select * from grand where sno=stu.sno)


          3. 使用>=而不是>,添加等于后比较直接锁定最小或最大值,只写>, 则数据库会逐行进行比较。


          4. 使用索引,但不要在索引上进行计算,当遇到or时索引失效,使用union代替or


         5. 只查询一条数据的时候使用limit 1这样会使搜索到数据后继续进行搜索


         6. 避免使用rand(),当查询数据想要乱序的时候,可以先生成一个随机数: 

                   select userName from user limit $rand,1;


         7. 查询join要使用小的结果集驱动大的结果集


         8. 尽可能少使用子查询,子查询的过程会在内查询中先建立临时表,查询完成后删除临时表


     二、  从建库角度分析数据库优化策略


         1.优化数据库结构,将数据库字段多的表水平划分多个表


         2.  数据插入前禁用索引后开启:

                  ALTER TABLE table_name DISABLE KEYS ;

                  ALTER TABLE table_name ENABLE KEYS ;


         3. 使用批量插入语句:能使用LOAD DATA INFILE 语句就尽量使用,不能使用可以选择:

                 ALTER TABLE table_name ENABLE KEYS ;


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:157506次
    • 积分:10277
    • 等级:
    • 排名:第1625名
    • 原创:152篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3450条
    QQ联系
    点击这里给我发消息
    邮箱联系
    点击这里给我发消息
    博客专栏
    最新评论