SQL的优化经验有哪些?
候选人:SQL优化可以从以下几个方面考虑:
建表时选择合适的字段类型。
使用索引,遵循创建索引的原则。
编写高效的SQL语句,比如避免使用
SELECT *
,尽量使用UNION ALL
代替UNION
,以及在表关联时使用INNER JOIN
。采用主从复制和读写分离提高性能。
在数据量大时考虑分库分表。
创建表的时候,你们是如何优化的呢?
候选人:创建表时,我们主要参考《嵩山版》开发手册,选择字段类型时结合字段内容,比如数值类型选择TINYINT
、INT
、BIGINT
等,字符串类型选择CHAR
、VARCHAR
或TEXT
。
在使用索引的时候,是如何优化呢?
候选人:在使用索引时,我们遵循索引创建原则,确保索引字段是查询频繁的,使用复合索引覆盖SQL返回值,避免在索引字段上进行运算或类型转换,以及控制索引数量。
你平时对SQL语句做了哪些优化呢?
候选人:我对SQL语句的优化包括指明字段名称而不是使用SELECT *
,避免造成索引失效的写法,聚合查询时使用UNION ALL
代替UNION
,表关联时优先使用INNER JOIN
,以及在必须使用LEFT JOIN
或RIGHT JOIN
时,确保小表作为驱动表。