MYSQL优化

来源:互联网 发布:js blob转uint8array 编辑:程序博客网 时间:2024/06/14 03:14

一.查询优化

1.创建索引,挑选候选列的字段进行设置索引,比如多表联合查询的连接字段,where语句中的筛选字段,排序字段,分组字段。

2.索引不宜过多,索引占用的空间比较大。索引过多,大大降低了存储效率,因为,每次增删改都需要修改索引。

3.使用Explain  查询查询情况。Explain select * from table_name where id = '1';

4.可以使用STRAIGHT_JOIN 强制要求优化程序按特定的顺序使用各个表。例如:select straight_join * from t1 inner join t2 inner join t3 .....。

5.使用索引的列不要在表达式中出现。否则将不会使用索引。where  mycol *2<4 将不使用索引,where mycol <4/2会使用索引。

6.like 查询,前缀如果使用了通配符%,将不会使用索引。如果查询以‘Mac’开头的,like ‘Mac%’ 。

7.避免使用自动类型转换。 如果num_col 是int 型。select * from mtbl where num_col = 4  比使用where num_col = '4' 要好。 如果字符串字段str_col使用wherestr_col = 4 将不会使用索引。

0 0