SQL优化

SQL优化

在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。

1,尽量不要在要给在SQL语句的where子句中使用函数,这样会使索引失效。

2,如果已经确定查询结果只有一条数据(当表中数据的该字段是唯一的),在查询SQL末尾增加 limit 1,这样MySQL的查询执行引擎在找到1条数据之后就会停止搜索,提高效率。(mysql 5.6之后有效)

3,模糊查询尽量使用右模糊:'xx%',这样可以利用上索引,而使用‘%xx’这种模糊查询会导致该查询字段上的索引失效。

4,如果非要使用表连接,最好要保证连接的两个字段都是创建了索引的。

5,查询的时候最好用什么数据查询什么数据,避免使用select *,原因是数据库访问往往是远程通过网络来访问,这也就意味着,查询结果也是通过网络来传输的,如果查询了额外的无用的数据,他们会额外占用网络带宽,数据传输效率也会降低。

6,尽量使用非空 not null,可以使用空串代替null。因为空串不占用空间,null会占用空间的。

7,使用 != 或者<数据库会放弃索引。

8,在SQL语句中不要有运算,否则MySQL会放弃索引。(mysql在执行查询时,会自动过滤当前语句,当效率大于使用索引时,则默认不使用索引)。

​ 比如:select * from t_user where age+1=19;

9,对于百万级以上的表数据,如果要做表连接查询,一定要对表先分页,然后对分页结果再做表连接。

10,尽量避免大事务操作,这样会降低系统的并发能力。在满足实际业务的前提下,尽量缩短事务的边界。

11,Where子句多条件and连接的情况,要把精确条件放在最先执行的位置,提高效率。Oracle中是从右至左。MySQL中是从左至右。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 优化 SQL 语句的一般步骤 通过 show status 命令了解各种 SQL 的执行频率 MySQL 客户端连...
    微日月阅读 488评论 0 0
  • SQL 优化(载录于:http://m.jb51.net/article/5051.htm) 作者: (一)深入浅...
    yuantao123434阅读 749评论 0 7
  • 优化SQL语句的一般步骤 通过show status 命令了解各种SQL的执行频率,具体命令如下: 1. 命令显示...
    来自火星程序猿阅读 678评论 0 1
  • 写在开头 这里所说的劣质SQL限定在数据量未到分库分表和使用分布式缓存程度,指那些执行较差的查询、插入、更新、删除...
    alivs阅读 750评论 0 0
  • 时间过得好快,一转眼又到周五了。下午放学接回家,从书包里拿出了奖状和棒棒糖,这是参加合唱老师发的奖励。告诉我糖就不...
    唯一_cb9b阅读 301评论 0 0