天天看点

mysql面试问题汇总

一、 基础SQL优化

1            查询SQL尽量不要使用select *,而是具体字段

2            避免在where子句中使用or来连接条件

3            使用varchar代替char

4            尽量使用数值替代字符串类型

5            查询尽量避免返回大量数据

6            使用explain分析你SQL执行计划

7            是否使用了索引及其扫描类型

8            创建name字段的索引

9            优化like语句

10         字符串怪现象

11         索引不宜太多,一般5个以内

12         索引不适合建在有大量重复数据的字段上

13         where限定查询的数据

14         避免在索引列上使用内置函数

15         避免在where中对字段进行表达式操作

16         避免在where子句中使用!=或<>操作符

17         去重distinct过滤字段要少

18         where中使用默认值代替null

​二、高级sql优化

1            批量插入性能提升

2            批量删除优化

3            伪删除设计

4            提高group by语句的效率

5            复合索引最左特性

6            排序字段创建索引

7            删除冗余和重复的索引

8            不要有超过5个以上的表连接

9            inner join 、left join、right join,优先使用inner join

10         in子查询的优化 

11         尽量使用union all替代union