mysql查看优化后的语句_MYSQLsql语句优化的详解

在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 ;

以上就是MYSQL sql语句优化的详解的内容,更多相关内容请关注PHP中文网(www.gxlcms.com)!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值