数据库优化方式

2021-12-24  本文已影响0人  风图莫

1、索引列的数据长度满足业务的情况下能少则少。

2、表中的索引并不是越多越好。

3、Where 条件中,like 9%, like %9%, like%9,三种方式都用不到索引。后两种方式对于索引是无效的。第一种9%是不确定的,决定于列的离散型,结论上讲可以用到,如果发现离散情况特别差的情况下,查询优化器觉得走索引查询性能更差,还不如全表扫描。

4、Where条件中 NOT IN 无法使用索引

5、多用指定查询,只返回自己想要的列,少用select *。

6、查询条件中使用函数,索引将会失效,这和列的离散型有关,一旦使用到函数,函数具有不确定性。

7、联合索引中,如果不是按照索引最左列开始查找,无法使用索引。

8、对联合索引精确匹配最左前列并范围匹配另一列,可以使用到索引。

9、联合索引中,如果查询有某个列的范围查询,其右边所有的列都无法使用索引。

避免全表扫描,合理建立索引

避免使用select * 明确所要查询的字段

SQL语句大写

尽量避免在where子句中使用!= ,<>操作符,因为不会使用索引,使用到where,order by尽量建立索引

where +<,<=,=,>,>=, LIKE‘abc%’这样会使用索引

避免使用模糊查询

遵循最左原则(在where子句中把索引字段放在前面)

尽量不用子查询(关联查询)

不需要获取全表数据的时候,不要查询全表数据,使用LIMIT来限制数据。

上一篇 下一篇

猜你喜欢

热点阅读