006-优化

优化器(Optimizer)

86f715ef391babb2bd0e6247567373aa

索引优化

避免索引列上的函数
82e971a66aaab306686ff08099ac31c7
c6cc76eab288c7ca7e4a56b2abc0dcf3
2b200a7f936e1e4906b57e59c4f834de
避免索引列上的计算公式
0bac101b88285f314cd3962f8a8a1c0f
避免使用 not in, 使用 not exists 代替
30fabe485bb417d2484569b6551a97bc
LIKE 的使用
3a8d82c048c1b3fcbd78bd95302c9f07
复合索引的使用
108045a36bbec5472c149e48128bd339

减少负荷优化

编写可再利用性的 SQL 语句
对已经运行过的 SQL 语句会将它放在缓冲池中,当有再次运行时,如存在缓冲池则直接执行,否则需要进行编译解析
使用表别名
通过对表附加别名, SQL 编译时可以明确列的来源表,从而使得 SQL 的编译时间缩短
ROWNUM 的使用
96cd522b765151a69ed2824f5a76b46b
UNION 和 UNION ALL
UNION 为了去除重复的数据会引起内部排序处理,如果确定不会出现重复数据的话,必须设定 UNION ALL 提高检索速度。
替代 DISTINCT
37696a937e1d9402e08974038f0467ba