在AnySQL.net中搜索标签(Tags) '排序' 的结果:

少量记录内存排序的成本好象很底......

    前面遇到一个排序的问题后, 昨天在数据库中做一了下调优, 将数据库的内存排序的次数从每秒的550次减少到330次左右, 并临控数据库的负荷, 很失望地发现对于降底数据库的负荷并没有什么作用, 甚至于还变高了一些, 由于没有发现明显的效果, 因此马上取消了所有的调优操作, 返回到原来的状态.     今天早上一来, 就做了以下测试, 首先是不需要排序时的情况: ASQL> @TEST.SQL ASQL> BEGIN /* Test no sorting */     2  FOR I IN 1..10000 LOOP     3      FOR REC...

OLTP系统中避免不必要的排序的重要性

    就前一篇中的例子, 来作一下10046的跟踪, 看看排序倒底占据了多少的CPU. 我一直是认为就算几条记录的排序也是有代价的, 至少它需要去准备一块排序区, 并运行排序的算法. 有时数据库系统中每秒种会有上千次的内存排序, 这时如果将排序的次数减少到一半, 机器的负荷会下降多少呢? 对于排序没有直接的印象, 不象对于逻辑读那么熟悉. 就等着一步一步研究吧?     先来看一下分区列上用绑定变量(有排序)时的情况: SELECT * FROM TEST_SORT   WHERE COL2=:p_co1 AND PKEY=:p_key AND COL1 IN (810,510,210)   ORDER BY COL1 Rows    Row Source Operation ------- ...

分区列上的绑定变量与排序的一点关系

    大量的排序操作会占用大量的CPU资源, 即便是内存中的排序. 通常我们可以用索引来 避免排, 但在分区表上, 就有些区别了. 下面是我做的一个测试例子, 你会知道在分区列上使用绑定变量 时会引起不必要的排序. 虽然在这个例子中用不用绑定变量都很明显地只访问一个分区, 但是Oracle还是 在用绑定变量时进行了不必要的排序. 因此Oracle有时是笨得可爱.     请使用下面的角本来创建测试表: CREATE TABLE TEST_SORT (   COL1 NUMBER,   COL2 NUMBER,   pkey number,   col3 varchar2(30) ) partition by range(pkey) (  ...

根据标记(Tags)来查找:

分类 | Categories

本站基于MT-3.36免费版, 和Fenng设计的模板.
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql