mysql优化

1.最左前缀原则,联合索引index(a,b,c):指的是查询从索引的最左前列开始,并且不跳过索引中的列,和where中的查询条件顺序无关。a,b,c 类比于1楼,2楼,3楼,1->2->3,1->2, 1

查看索引执行情况关键字:explain

2.范围查询右边的列不能使用索引

3.不要在索引列上进行运算,索引将失效

4.字符串不加单引号,索引将失效

5.尽量使用覆盖索引(索引包含查询列),避免使用select *

Using index condition  索引回表查询

Using where,Using index 索引结构可以拿到数据

6.用 or 分割的条件,如果or前的条件中的列有索引,而后面的列没有索引,那么涉及的索引将不会被用到

and 不会是前面的索引失效

7.如果mysql评估使用索引比全表更慢,则不使用索引,根据数据存储的多少来决定

8. is NULL , is noy NULL 有时失效 ,NULL值多,is not NULL走索引

9.in走索引, not in 索引失效

10.单列索引和复合索引

尽量使用符合索引,而少使用单列索引。

创建复合索引

create index idx_name_sta_address on tb_table(name,status,address)

就相当于创建了3个索引:

name

name+status

name+status+address

 

 

创建单列索引

create index idx_table_name on  tb_table(name);

create index idx_table_status on tb_table(status);

create index idx_table_address on tb_table(address);

数据库会选择一个最优的索引(辨识度最高的索引)来使用,并不会使用全部索引

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值