少量记录内存排序的成本好象很底......
前面遇到一个排序的问题后, 昨天在数据库中做一了下调优, 将数据库的内存排序的次数从每秒的550次减少到330次左右, 并临控数据库的负荷, 很失望地发现对于降底数据库的负荷并没有什么作用, 甚至于还变高了一些, 由于没有发现明显的效果, 因此马上取消了所有的调优操作, 返回到原来的状态.
今天早上一来, 就做了以下测试, 首先是不需要排序时的情况:
ASQL> @TEST.SQL
ASQL> BEGIN /* Test no sorting */
2 FOR I IN 1..10000 LOOP
3 FOR REC IN (SELECT * FROM TEST_SORT WHERE COL2=10 AND PKEY=0
4 AND COL1 IN (810,510,210) ORDER BY COL1) LOOP
5 NULL;
6 END LOOP;
7 END LOOP;
8 END;
9 /
Procedure executed.
Execute time: 00:00:05.479
Statistics
---------------------------------------------------
445 CPU used by this session
120K consistent gets
10K execute count
1 sorts (memory)
ASQL> /
Procedure executed.
Execute time: 00:00:05.438
Statistics
---------------------------------------------------
442 CPU used by this session
120K consistent gets
10K execute count
1 sorts (memory)
