BETWEEN比IN有效
IN比EXIST有效
LIKE条件的开头如果不是通配符则优化器使用索引的可能。否则进行全表扫描
DISTINCT很耗费资源(但是和GROUP BY相比如何呢?)
如果可以的话使用UNION ALL而不是UNION
使用多个SQL语句计算不同范围的合计值会导致同一个表的多次扫描,如果将
这些SQL合并,并用CASE区分范围,可以减少扫描次数。这会极大的提高性能
DISTINCT会创建临时表,可以更改SQL的结构避免DISTINCT的使用。
使用派生表而非临时表。减少磁盘IO
避免使用混合类型的表达式。例如字符串和数值比较,TERADATA会将字符串
转换成数值。这会使索引失效并导致全表扫描。结论:混合类型比较时做显示转换
SI
JI
GLOBAL JI
PPI
No comments:
Post a Comment