美文网首页
Msql(3)-SQL优化

Msql(3)-SQL优化

作者: StayHungriest | 来源:发表于2020-03-14 20:11 被阅读0次

一、sql优化

1. 避免全表扫描
2. 考虑在where 及 order 涉及的列建立索引
3. 避免在where子句中使用is null(不会使用索引),建表建议默认值
4. 避免where中避免使用!=或<>操作(不会使用索引)
5. 避免where子句中使用or来连接条件,可以使用union all。

如:
select id from t where num = 10
union all
select id fromt where num = 20

6. in 和 not iin 也要慎用,否则会导致全表扫描。对于连续数值,能用between不用in。
7. 不用like通配符
8. 避免在where子句中对字段进行表达式操作,会导致引擎放弃使用索引进行全表扫描。

如:select id from t where num/2=100
应改为:
select id from t where num=100*2

9. 避免在where子句中对字段进行函数操作,导致全表扫描。

select id from t where substring(name, 1, 3)='abc',name以abc开头的id
应改为:
select id from t where name like 'abc%'

10. 使用符合索引查询时,须使用该索引中的第一个字段作为条件才能保证系统使用该索引。并且尽量让字段顺序与索引顺序相一致。
11. 很多时候用 exsit 代替 in 是一个好选择。

select num from a where num in(select num from b)
应该改为:
select num from a where exist(select 1 from b where num = a.num)

12. 索引列有大量重复值时索引几乎无用
13. 尽量使用数字型字段。
14. 尽可能使用varchar代替char。
15. 任何地方都不要使用select * from t

相关文章

  • Msql(3)-SQL优化

    一、sql优化 1. 避免全表扫描 2. 考虑在where 及 order 涉及的列建立索引 3. 避免在wher...

  • mysql高级

    1,msql 架构2,索引优化3,查询截取分析4,主从复制5,锁机制1)msql配置文件linux系统 my.cn...

  • Mysql 优化

    1.Sql优化 1)sql优化分析2)索引优化3)sql语句优化4)一些常用的技巧优化 (正则、函数) 2.优化数...

  • Pycharm 连接 MySQL 时报错java.sql.SQL

    问题: 通过Pycharm 中的database 连接本地的MSQL数据库碰到报错,如下:java.sql.SQL...

  • 数据库--重难

    掌握 SQL熟练DQL语句 msql交互Python redis语句 redis交互Python redis与my...

  • 2018-07-01

    SQL优化改写之美--MySQL虚拟列、伪列实现对SQL的优化 慢SQL文本如下: SQL执行时长达38S,获取3...

  • 「mysql优化专题」90%程序员都会忽略的增删改优化(2)

    前文一篇「mysql优化专题」这大概是一篇最好的mysql优化入门文章(1)让大家知道msql优化,究竟在优化什么...

  • 常用sql优化2019-09-27

    sql优化 sql优化.................................................

  • 你们项目平时怎么做数据库性能优化的?

    主要有以下几点吧: 1,sql语句优化,基于sql语法层面的优化。 2,表连接的优化。 3,使用临时表。 4,批量...

  • mysql优化思路总结

    1.优化的目的2.如何定位问题sql,使用什么工具3.如何sql层面优化4.如何应用层层面优化 explain 命...

网友评论

      本文标题:Msql(3)-SQL优化

      本文链接:https://www.haomeiwen.com/subject/fglnshtx.html