資料庫索引

2021-08-11 22:08:17 字數 1634 閱讀 2575

學習索引之前,我們需要先理解以下的一些問題

語法 create index index_name on table_name(『列名』);

學習索引之前,我們需要建立資料,因為少量的資料是體現不出索引的優勢的,我們就建立乙個五百萬條資料的表吧,

我們使用 plsql來填充資料,

declare

i number := 1;

begin

loop

exit when i > 5000000;

insert

into t_user values(seq_user.nextval,'值i=:'||i);

i := i+1;

end loop;

commit;

end;

那個,要是電腦效能不是很好的,,,弄50萬 100萬就行,,別跟電腦過不去,

需要注意的是,表的資料字段長度設定大一點,否則會報錯,

那麼我們開始查詢

首先我們使用主鍵來查詢,

實際上看執行時間是不准的,我們一般分析sql語句是否需要優化,我們需要通過sql的執行計畫來判斷

我們可以判斷,我們剛剛的sql語句基本是沒有問題的,但是我們明明沒有建立索引,但是為什麼會顯示使用了索引呢??? 這主要是因為主鍵自帶索引,

那麼我們為了凸顯索引的作用,我們就不使用索引列查詢,

我們通過執行計畫來分析這條語句

跟我們剛剛的比起來,cost消耗了太多太多,那麼我們就需要解決這個問題了,

建立索引可能會有點慢,這是正常的,

然後我們再來執行剛剛的sql語句

主要是看執行計畫,如果是mysql的話

explain sql語句 , 就可以檢視執行計畫了

如果是oracle,那麼f5就行,

這條語句其實就差不多沒什麼問題了,但是千萬要記住,索引並不是越多越好,盡量少建立索引,

然後我們總結一下哪些情況需要建立索引

以下情況會發生索引失效

索引主要就講到這裡,主要是入門,,,

資料庫 資料庫索引

索引是儲存引擎用於快速找到記錄的一種資料結構。索引以檔案的形式儲存在磁碟中。索引可以包含乙個或多個列的值。儲存引擎查詢資料的時候,先在索引中找對應值,然後根據匹配的索引記錄找到對應的資料行。1.b tree索引 2.雜湊索引 myisam和innodb儲存引擎 只支援btree索引,也就是說預設使用...

資料庫mysql索引 資料庫 mysql索引

mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...

資料庫索引

索引 索引列唯一索引 主鍵索引 聚簇索引和非聚簇索引 如何建立索引 如何刪除索引 使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,例如 employee 表的姓 lname 列。如果要按姓查詢特定職員,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資...