一个专门做ppt的网站吗,企业运营管理系统,wordpress grace 破解,在线设计logo图片面试SQL优化的具体操作#xff1a; 1、在表中建立索引#xff0c;优先考虑where、group by使用到的字段。 2、尽量避免使用select *#xff0c;返回无用的字段会降低查询效率。错误如下#xff1a;
SELECT * FROM table 优化方式#xff1a;使用具体的字段代替 *#xf…面试SQL优化的具体操作 1、在表中建立索引优先考虑where、group by使用到的字段。 2、尽量避免使用select *返回无用的字段会降低查询效率。错误如下
SELECT * FROM table 优化方式使用具体的字段代替 *只返回使用到的字段。 3、尽量避免使用in 和not in会导致数据库引擎放弃索引进行全表扫描。错误如下
SELECT * FROM t WHERE id IN (2,3)
SELECT * FROM t1 WHERE username IN (SELECT username FROM t2)优化方式如果是连续数值可以用between代替。错误如下
SELECT * FROM t WHERE id BETWEEN 2 AND 3如果是子查询可以用exists代替。如下
SELECT * FROM t1 WHERE EXISTS (SELECT * FROM t2 WHERE t1.username t2.username)4、尽量避免使用or会导致数据库引擎放弃索引进行全表扫描。错误如下
SELECT * FROM t WHERE id 1 OR id 3优化方式可以用union代替or。如下
SELECT * FROM t WHERE id 1 UNION SELECT * FROM t WHERE id 3PS如果or两边的字段是同一个如例子中这样。貌似两种方式效率差不多即使union扫描的是索引or扫描的是全表 5、尽量避免在字段开头模糊查询会导致数据库引擎放弃索引进行全表扫描。错误如下
SELECT * FROM t WHERE username LIKE %李%优化方式尽量在字段后面使用模糊查询。如下
SELECT * FROM t WHERE username LIKE 李%6、尽量避免进行null值的判断会导致数据库引擎放弃索引进行全表扫描。错误如下
SELECT * FROM t WHERE score IS NULL优化方式可以给字段添加默认值0对0值进行判断。如下
SELECT * FROM t WHERE score 07、尽量避免在where条件中等号的左侧进行表达式、函数操作会导致数据库引擎放弃索引进行全表扫描。错误如下SELECT * FROM t2 WHERE score/10 9
SELECT * FROM t2 WHERE SUBSTR(username,1,2) li优化方式可以将表达式、函数操作移动到等号右侧。如下
SELECT * FROM t2 WHERE score 10*9
SELECT * FROM t2 WHERE username LIKE li%8、当数据量大时避免使用where 11的条件。通常为了方便拼装查询条件我们会默认使用该条件数据库引擎会放弃索引进行全表扫描。错误如下
SELECT * FROM t WHERE 11优化方式用代码拼装sql时进行判断没where加where有where加and。