数据库
首页 > 数据库> > 一文解决MySQL大部分问题

一文解决MySQL大部分问题

作者:互联网

下面这两个方面能够解决MySQL80%的问题


SQL级别

1、明确select列表的列

select * from t;

优化:明确你想要查询的列

select id,name from t;

2、空间换时间:建立索引,走索引,避免全表扫描

select id ,name from t where name is null -- 空值不能利用索引,所以还是全表扫描
select id ,name from t where id in(1,2,3) -- 全表扫描
select id,name from t where id=1 or id=2 or id=3 -- 全表扫描

改造

select id,name from t where id=1 -- 走索引
union all
select id,name from t where id=2 -- 走索引
union all
select id,name from t where id=3 -- 走索引

3、如果是分区表,在where条件中明确使用哪一个分区

select id,name from t where dt='分区值'

 

4、尽量用union all代替union

 

5、如果排序字段没有用到索引,就尽量少排序

 

6、exists代替in


架构级别

分而治之思想

待续......

 

标签:name,union,索引,大部分,MySQL,where,id,select,一文
来源: https://blog.csdn.net/weixin_44586883/article/details/105652971