Oracle 資料生成 索引

2021-05-21 21:10:42 字數 973 閱讀 6383

1.建表

create table qq(

qq_num integer);

2.插入資料

插入資料的方法有很多種,但是要插入3億資料,必須要有高效的演算法。在插入資料時我用了最笨的辦法,採用pl/sql利用流程控制的loop語句插入。同時我也看了網上的插入效率的優化,怎樣利用較少的時間生成較多的測試資料。給我印象深刻的是利用種子表來生成較多的資料。

這樣做的好處是本身資料就在本地磁碟,減少了訪問的i/o操作,資料生成較快。

我採用最笨的辦法利用8小時生成了2億多條資料記錄。

3.索引的建立

由於已存在的記錄有2億條,採用create index qq_num_index on qq(qq_num);耗費時間近1小時。

索引的好處:查詢效率提高,索引相關的「填充因子」。

count()函式始終不走索引,都是全盤掃瞄,還未找到解決辦法。也就是以下pl/sql執行的時間在建立索引前後是一樣的。

但是建立索引後,select max(qq_num) 和其他相關的語句的執行時間立即減少了很多。

以下是**:

建立索引前:執行時間為1分7秒,索引後0.2秒內完成。

建立索引是以儲存空間為代價換取時間效率的提高。

這當中有autotrace可以自動顯示sql語句的執行計畫,這種檢視必須在sql *plus下.

開啟autotrace的步驟如下:

--dba初次必須執行

create role plustrace;--需要擁有許可權

grant select on v_$sesstat to plustrace;--需要有grant許可權

grant select on v_$mystat to plustrace;

grant select on v_$statname to plustrace;

--開啟自動跟蹤

set autotrace on;

oracle索引 快速生成大量測試資料

1.建立索引 create index on tablespace 2.刪除索引 drop index3.重置索引 alter index rebuild4.索引特點第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。第二,可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。第三,...

Oracle資料庫索引

標籤 資料庫 oracle 索引index 2013 06 14 16 54 4148人閱讀收藏 舉報 database 6 目錄 索引基本概念 索引的作用 索引的架構 oracle索引的型別 1 基於函式的索引 2 位圖索引 oracle索引的實現 索引是用於加速資料訪問的資料物件,合理的使用索引...

Oracle資料庫 索引

索引通過指標的形式提高資料查詢的速度。如果乙個資料量比較大的資料庫經常被查詢而插入刪除的次數較少,則應該建立索引,相反,小表或經常被插入或修改,則不建議建立索引。1.建立索引 create index emp phone number ix on employees phone number 2.建...