孤燈野火
          暢想的天空
          posts - 2,comments - 4,trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          友情鏈接

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          從100萬(wàn)數(shù)據(jù)量的表中隨機(jī)抽取一條數(shù)據(jù) 要達(dá)到0.02S以內(nèi)

          剛好我有一個(gè)120w數(shù)據(jù)的測(cè)試表,在一個(gè)很老的PC上,northwood 2.4的p4,sis芯片組。
          復(fù)制內(nèi)容到剪貼板
          代碼:
          SQL> set timing on;
          SQL> SELECT COUNT(1) FROM t1;

            COUNT(1)
          ----------
             1219948

          Executed in 0.015 seconds

          SQL> alter table T1 add rn number;

          Table altered

          Executed in 0.36 seconds

          SQL> update t1
            2  set rn =rownum;

          1219948 rows updated

          Executed in 129.75 seconds

          SQL> create index index_t1_rn on T1 (rn);

          Index created

          Executed in 51.234 seconds

          SQL>
          SQL> WITH tab AS(SELECT trunc(dbms_random.value(1,100000)) a FROM dual)
            2  SELECT * FROM t1 WHERE rn =( SELECT a FROM tab)
            3  /

              NORMAL                                   CLASS         RN
          ---------- --------------------------------------- ----------
                3198                                       5       7384

          Executed in 0.031 seconds

          SQL>
          SQL> WITH tab AS(SELECT trunc(dbms_random.value(1,100000)) a FROM dual)
            2  SELECT * FROM t1 WHERE rn =( SELECT a FROM tab)
            3  /

              NORMAL                                   CLASS         RN
          ---------- --------------------------------------- ----------
                4760                                      12      72082

          Executed in 0.047 seconds

          SQL> /

              NORMAL                                   CLASS         RN
          ---------- --------------------------------------- ----------
                6922                                       7      30862

          Executed in 0.033 seconds

          SQL> /

              NORMAL                                   CLASS         RN
          ---------- --------------------------------------- ----------
                1727                                       5      81038

          Executed in 0.019 seconds

          SQL> /

              NORMAL                                   CLASS         RN
          ---------- --------------------------------------- ----------
               11890                                       3      65704

          Executed in 0.016 seconds
          100w不是一個(gè)恐怖的數(shù)據(jù)量,創(chuàng)建字段索引都比較快。這類問題關(guān)注的焦點(diǎn),就是在如何減少IO上,諸如get random value的問題,實(shí)際只消耗一次CPU時(shí)間,而CPU都幾百M(fèi) HZ。
          最后,我用了一個(gè)with 語(yǔ)法來(lái)取數(shù),其實(shí)是我在測(cè)試過程發(fā)現(xiàn)一個(gè)現(xiàn)象,暫時(shí)不表。

          引自:http://www.oracle.com.cn/viewthread.php?tid=130433&extra=page%3D1


          posted on 2010-12-17 16:06 孤飛燕 閱讀(267) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)
          主站蜘蛛池模板: 柯坪县| 缙云县| 新化县| 海伦市| 通海县| 喜德县| 成都市| 阳曲县| 宁德市| 聂拉木县| 诸城市| 当雄县| 房山区| 泰来县| 林州市| 原阳县| 富锦市| 宁化县| 逊克县| 涿鹿县| 岳普湖县| 富源县| 濮阳市| 镇江市| 邢台市| 苗栗市| 昌乐县| 东乌珠穆沁旗| 开鲁县| 城口县| 云和县| 阳朔县| 乌兰县| 平和县| 隆昌县| 连南| 巨鹿县| 曲阜市| 桂平市| 铜川市| 灵寿县|