[b]影响排序速度的原因(从大到小)[/b]:
1,选择的行数
2,ORDER BY子句里的列数
3,ORDER BY子句里的列的定义长度
增加行数会使得排序速度呈几何级数减慢
如果将排序的行数增加10倍,则排序的时间会变成20倍
[b]尽可能的减少排序的行数[/b]
[b]尽量减少排序的列数[/b]
[b]适当减少排序的列的长度[/b]
[b]最快的排序是对预先有一定排序的全部唯一的整数做升序排序[/b]
[b]部分数据重复会减慢排序速度[/b]
[b]预先排序会加快排序速度[/b]
[b]列的定义的长度对排序会有影响[/b]
[b]不同的DBMS对NULL的排序策略不同,不要写依赖于特殊NULL位置的排序[/b]
[b]ORDER BY里使用表达式不是100%可移植的,但是ORDER BY LOWER(column1),ORDER BY SUBSTRING(column1 FROM 1 FOR 6),ORDER BY CAST(column1 AS CHAR...)这种可以加速排序[/b]
[b]SELECT column1 FROM Table1会返回按column1排序的结果[/b]
[b]如果column1不唯一,SELECT DISTINCT column1 FROM Table1会返回按column1排序的结果[/b]
[b]省略ORDER BY是一个普遍的技巧,尽量不要给你的SQL加上ORDER BY[/b]
1,选择的行数
2,ORDER BY子句里的列数
3,ORDER BY子句里的列的定义长度
增加行数会使得排序速度呈几何级数减慢
如果将排序的行数增加10倍,则排序的时间会变成20倍
[b]尽可能的减少排序的行数[/b]
[b]尽量减少排序的列数[/b]
[b]适当减少排序的列的长度[/b]
[b]最快的排序是对预先有一定排序的全部唯一的整数做升序排序[/b]
[b]部分数据重复会减慢排序速度[/b]
[b]预先排序会加快排序速度[/b]
[b]列的定义的长度对排序会有影响[/b]
[b]不同的DBMS对NULL的排序策略不同,不要写依赖于特殊NULL位置的排序[/b]
[b]ORDER BY里使用表达式不是100%可移植的,但是ORDER BY LOWER(column1),ORDER BY SUBSTRING(column1 FROM 1 FOR 6),ORDER BY CAST(column1 AS CHAR...)这种可以加速排序[/b]
[b]SELECT column1 FROM Table1会返回按column1排序的结果[/b]
[b]如果column1不唯一,SELECT DISTINCT column1 FROM Table1会返回按column1排序的结果[/b]
[b]省略ORDER BY是一个普遍的技巧,尽量不要给你的SQL加上ORDER BY[/b]