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

2021-07-30 10:14:04 字數 1883 閱讀 8210

1. 建立索引

create index on () [tablespace ]
2. 刪除索引

drop index
3. 重置索引

alter index rebuild
4.索引特點第一,通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。 

第二,可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。 

第三,可以加速表和表之間的連線,特別是在實現資料的參考完整性方面特別有意義。 

第四,在使用分組和排序子句進行資料檢索時,同樣可以顯著減少查詢中分組和排序的時間。 

第五,通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的效能。

5. 索引缺點

第一,建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加。 

第二,索引需要佔物理空間,除了資料表佔資料空間之外,每乙個索引還要佔一定的物理空間,如果要建立聚簇索引,那麼需要的空間就會更大。 

第三,當對表中的資料進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了資料的維護速度。

6.索引測試

快速生成2000000條資料:

create table index_test_rz1135 as

select rownum as id,

to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as itime,

trunc(dbms_random.value(1,100000)) as random_id,

dbms_random.string('x', 20) txt

from dual

connect by level <= 2000000;

查詢表內容如下:

查詢資料數量:

查詢random_id為10的所有資料:

0.094 seconds建立索引:

create index index_test on index_test_rz1135(random_id);
查詢random_id為10的所有資料:

多次測試,記錄結果如下:

可以看出,新增索引後顯著提高了查詢速率。

快速生成大量測試資料

sql是利用了oracle資料庫語法的幾個實用小技巧實現的 1 利用oracle特有的 connect by 樹形連線語法生成測試記錄,level 10 表示要生成10記錄 2 利用rownum虛擬列生成遞增的整數資料 3 利用sysdate函式加一些簡單運算來生成日期資料,本例中是每條記錄的時間加...

Oracle儲存過程生成大量不重複的隨機數

存放隨機數的表結構 create table coupon code id number 22 主鍵 code varchar2 10 隨機數 used varchar2 2 是否使用標識 需求說明 生成1億條隨機數存放到code欄位,欄位id為主鍵,取值從1到1億,要求code值為從1到1億之間的...

Oracle 資料庫SQL語句生成大量測試資料。

做資料庫開發或管理的人經常要建立大量的測試資料,動不動就需要上萬條,如果一條一條的錄入,那會浪費大量的時間,本文介紹了oracle中如何通過一條sql快速生成大量的測試資料的方法。產生測試資料的sql如下 sql select rownum as id,2 to char sysdate rownu...