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鍵是相對於數 內據庫設計中的容參考完整...