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.建...