我有一个带有七列的表T1,名称为c1,c2,c3,.... c7。 所有列的varchar类型都在10到500之间,但大多数都是500。 表有大约24k行。当我执行
SELECT * FROM T1;
获取所有行需要1分钟以上。但是当我使用附加的order by子句运行相同的查询时
SELECT * FROM T1 ORDER BY C1;
加载完成的数据需要不到25秒。
注意:表上没有索引。
我用来查询的工具是Embarcadero DBArtisan,数据库是IBM DB2 9.7+。 服务器和客户端也相距数千公里。
我有点困惑为什么用order by子句花费的时间更少,时间差异很大。