哪位高手跟我說說,資料庫中索引的用法,怎麼建立,和在se

時間 2021-10-27 04:34:37

1樓:匿名使用者

建立資料庫的目的是管理大量資料,而建立索引的目的就是提高資料檢索效率,改善資料庫工作效能,提高資料訪問速度。當查詢大量資料時不建索引帶條件的查詢會很慢的,索引的建立不同的資料庫有不同的寫法,oracle的寫法是create index 索引名 on 表名();

在select 語句中的where條件每個欄位都要建索引.

索引原理

索引的基本概念索引是一種特殊型別的資料庫物件,它與表有著密切的聯絡。索引是為檢索而存在的。如一些書籍的末尾就專門附有索引,指明瞭某個關鍵字在正文中的出現的頁碼位置,方便我們查詢,但大多數的書籍只有目錄,目錄不是索引,只是書中內容的排序,並不提供真正的檢索功能。

可見建立索引要單獨佔用空間;索引也並不是必須要建立的,它們只是為更好、更快的檢索和定位關鍵字而存在。再進一步說,我們要在圖書館中查閱圖書,該怎麼辦呢?圖書館的前臺有很多叫做索引卡片櫃的小櫃子,裡面分了若干的類別供我們檢索圖書,比如你可以用書名的筆畫順序或者拼音順序作為查詢的依據,你還可以從作者名的筆畫順序或拼音順序去查詢想要的圖書,反正有許多檢索方式,但有一點很明白,書庫中的書並沒有按照這些卡片櫃中的順序排列——雖然理論上可以這樣做,事實上,所有圖書的脊背上都人工的貼上了一個特定的編號①,它們是以這個順序在排列。

索引卡片中並沒有指明這本書擺放在書庫中的第幾個書架的第幾本,僅僅指明瞭這個特定的編號。管理員則根據這一編號將請求的圖書返回到讀者手中。這是很形象的例子,以下的講解將會反覆用到它。

sqls在安裝完成之後,安裝程式會自動建立master、model、tempdb等幾個特殊的系統資料庫,其中master是sqls的主資料庫,用於儲存和管理其它系統資料庫、使用者資料庫以及sqls的系統資訊,它在sqls中的地位與windows下的登錄檔相當。master中有一個名為sysindexes的系統表,專門管理索引。sqls查詢資料表的操作都必須用到它,毫無疑義,它是本文主角之一。

檢視一張表的索引屬性,可以在查詢分析器中使用以下命令:select * from sysindexes where id=object_id(‘tablename’) ;而要檢視錶的索引所佔空間的大小,可以使用系統儲存過程命令:sp_spaceused tablename,其中引數tablename為被索引的表名。

2樓:匿名使用者

一、索引的概念

索引就是加快檢索表中資料的方法。資料庫的索引類似於書籍的索引。在書籍中,索引允許使用者不必翻閱完整個書就能迅速地找到所需要的資訊。

在資料庫中,索引也允許資料庫程式迅速地找到表中的資料,而不必掃描整個資料庫。

二、索引的特點

1.索引可以加快資料庫的檢索速度

2.索引降低了資料庫插入、修改、刪除等維護任務的速度

3.索引建立在表上,不能建立在檢視上

4.索引既可以直接建立,也可以間接建立

5.可以在優化隱藏中,使用索引

6.使用查詢處理器執行sql語句,在一個表上,一次只能使用一個索引

7.其他

三、索引的優點

1.建立唯一性索引,保證資料庫表中每一行資料的唯一性

2.大大加快資料的檢索速度,這也是建立索引的最主要的原因

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

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

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

四、索引的缺點

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

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

3.當對錶中的資料進行增加、刪除和修改的時候,索引也要動態的維護,降低了資料的維護速度

五、索引分類

1.直接建立索引和間接建立索引

直接建立索引: create index mycolumn_index on mytable (myclumn)

間接建立索引:定義主鍵約束或者唯一性鍵約束,可以間接建立索引

2.普通索引和唯一性索引

普通索引:

create index mycolumn_index on mytable (myclumn)

唯一性索引:保證在索引列中的全部資料是唯一的,對聚簇索引和非聚簇索引都可以使用

create unique coustered index myclumn_cindex on mytable(mycolumn)

3樓:匿名使用者

這裡面很詳細select 語句最常用的 就是 設定索引 提高查詢速度!!

4樓:匿名使用者

1、索引的作用和怎麼建立,樓上的幾位都說了,或者可以找找書看看就懂了;

2、補充問題的參***如下:

select * from sysindexes where id=(select id from sysobjects where name='your_table_name')

and name not like '%_wa_sys_%'

5樓:匿名使用者

索引的用法我也想知道

VF中資料庫,表,專案,索引之間是什麼關係

一 visual foxpro的基礎知識 1.基本概念 資料庫,資料模型,資料庫 管理 系統 類和物件 事件 方法。2.關聯式資料庫 1 關聯式資料庫 關係模型 關係模式 關係 元組 屬性 域 主關鍵字和外部關鍵字。2 關係運算 投影 選擇 聯接。3 資料庫的一致性和完整性 實體完整性 域完整性 參...

怎樣將資料庫的資料導到另資料庫中

如果都是sql的資料庫的話,在第二步的時候就預設選擇sql server 的microsoft ole db提供程式 就可以了。1 開啟企業管理器,開啟要匯入資料的資料庫,在表上按右鍵,所有任務 匯入資料,彈出dts匯入 匯出嚮導,按 下一步 2 選擇資料來源 microsoft excel 97 ...

資料庫中的外部關鍵字怎麼理解,資料庫中什麼是主關鍵字?主關鍵字與外關鍵字的區別與聯絡?

比如,表1和表2 a欄位是表一的關鍵字 pk 表2的a和表1的a是相關聯的,就是1.a 2.a,則a 在表2中是外部關鍵字 fk 資料庫中什麼是主關鍵字?主關鍵字與外關鍵字的區別與聯絡? 主關鍵字是用於唯 bai一地標識du表中的某一條記錄。zhi聯絡 外dao鍵是相對於數 內據庫設計中的容參考完整...