索引和目錄在書(shū)哪里

索引和目錄在書(shū)哪里

索引在書(shū)首頁(yè),目錄頁(yè)在書(shū)的第二頁(yè)或者第三頁(yè)。索引是根據(jù)一定需要,把書(shū)刊中的主要內(nèi)容或各種題名摘錄下來(lái),標(biāo)明出處,頁(yè)碼,按一定次序分條排列,以供人查閱的資料。

目錄是按次序編排以供查考的圖書(shū)或篇章的名目,圖書(shū)目錄,書(shū)刊上列出的篇章名目,大多放在正文前。

索引和目錄的作用
索引是指一類特殊的數(shù)據(jù)結(jié)構(gòu),它由索引鍵和指向數(shù)據(jù)文件中相應(yīng)記錄的記錄指針或記錄號(hào)組成。索引鍵是記錄的一個(gè)或一組數(shù)據(jù)項(xiàng)。索引用來(lái)提高數(shù)據(jù)查詢效率,但同時(shí)引入存儲(chǔ)代價(jià)和更新代價(jià)。

在關(guān)系數(shù)據(jù)庫(kù)中,索引是一種單獨(dú)的、物理的對(duì)數(shù)據(jù)庫(kù)表中一列或多列的值進(jìn)行排序的一種存儲(chǔ)結(jié)構(gòu)。它是某個(gè)表中一列或若干列值的**和相應(yīng)的指向表中物理標(biāo)識(shí)這些值的數(shù)據(jù)頁(yè)的邏輯指針清單。索引的作用相當(dāng)于圖書(shū)的目錄,可以根據(jù)目錄中的頁(yè)碼快速找到所需的內(nèi)容。

書(shū)的目錄會(huì)幫助我們了解這本書(shū)講了什么,大部分還會(huì)體現(xiàn)出框架結(jié)構(gòu)以及主題思想,這對(duì)我們進(jìn)行下面的閱讀指引了方向。

什么是數(shù)據(jù)庫(kù)表的索引?

建立索引的優(yōu)缺點(diǎn):為什么要?jiǎng)?chuàng)建索引呢? 這是因?yàn)椋瑒?chuàng)建索引可以大大提高系統(tǒng)的性能。 **、通過(guò)創(chuàng)建**性索引,可以保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的**性。

第二、可以大大加快 數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因。

第三、可以加速表和表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。 第四、在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時(shí),同樣可以顯著減少查詢中分組和排序的時(shí)間。 第五、通過(guò)使用索引,可以在查詢的過(guò)程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。 也許會(huì)有人要問(wèn):增加索引有如此多的優(yōu)點(diǎn),為什么不對(duì)表中的每一個(gè)列創(chuàng)建一個(gè)索引呢?這種想法固然有其合理性,然而也有其片面性。

雖然,索引有許多優(yōu)點(diǎn), 但是,為表中的每一個(gè)列都增加索引,是非常不明智的。這是因?yàn)?,增加索引也有許多不利的一個(gè)方面:**、創(chuàng)建索引和維護(hù)索引要耗費(fèi)時(shí)間,這種時(shí)間隨著數(shù)據(jù)量的增加而增加。 第二、索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個(gè)索引還要占一定的物理空間。

如果要建立聚簇索引,那么需要的空間就會(huì)更大。 第三、當(dāng)對(duì)表中的數(shù)據(jù)進(jìn)行增加、刪除和修改的時(shí)候,索引也要?jiǎng)討B(tài)的維護(hù),這樣就降低了數(shù)據(jù)的維護(hù)速度。什么樣的字段適合創(chuàng)建索引:索引是建立在數(shù)據(jù)庫(kù)表中的某些列的上面。

因此,在創(chuàng)建索引的時(shí)候,應(yīng)該仔細(xì)考慮在哪些列上可以創(chuàng)建索引,在哪些列上不能創(chuàng)建索引。一般來(lái)說(shuō),應(yīng)該在這些列上創(chuàng)建索引,例如:**、在經(jīng)常需要搜索的列上,可以加快搜索的速度; 第二、百科在作為主鍵的列上,強(qiáng)制該列的**性和組織表中數(shù)據(jù)的排列結(jié)構(gòu); 第三、在經(jīng)常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度; 第四、在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,其指定的范圍是連續(xù)的; 第五、在經(jīng)常需要排序的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,這樣查詢可以利用索引的排序,加快排序查詢時(shí)間; 第六、在經(jīng)常使用在WHERE子句中的列上面創(chuàng)建索引,加快條件的判斷速度。建立索引,一般按照select的where條件來(lái)建立,比如: select的條件是where f1 and f2,那么如果我們?cè)谧侄蝔1或字段f2上簡(jiǎn)歷索引是沒(méi)有用的,只有在字段f1和f2上同時(shí)建立索引才有用等。

什么樣的字段不適合創(chuàng)建索引:同樣,對(duì)于有些列不應(yīng)該創(chuàng)建索引。一般來(lái)說(shuō),不應(yīng)該創(chuàng)建索引的的這些列具有下列特點(diǎn):**,對(duì)于那些在查詢中很少使用或者參考的列不應(yīng)該創(chuàng)建索引。這是因?yàn)椋热贿@些列很少使用到,因此有索引或者無(wú)索引,并不能提高查詢速度。相反,由于增加了索引,反而降低了系統(tǒng)的維護(hù)速度和增大了空間需求。

第二,對(duì)于那些只有很少數(shù)據(jù)值的列也不應(yīng)該增加索引。這是因?yàn)椋捎谶@些列的取值很少,例如人事表的性別列,在查詢的結(jié)果中,結(jié)果集的數(shù)據(jù)行占了表中數(shù)據(jù)行的很大比 例,即需要在表中搜索的數(shù)據(jù)行的比例很大。增加索引,并不能明顯加快檢索速度。 第三,對(duì)于那些定義為text, p_w_picpath和bit數(shù)據(jù)類型的列不應(yīng)該增加索引。

這是因?yàn)?,這些列的數(shù)據(jù)量要么相當(dāng)大,要么取值很少。 第四,當(dāng)修改性能遠(yuǎn)遠(yuǎn)大于檢索性能時(shí),不應(yīng)該創(chuàng)建索 引。這是因?yàn)椋薷男阅芎蜋z索性能是互相矛盾的。當(dāng)增加索引時(shí),會(huì)提高檢索性能,但是會(huì)降低修改性能。

當(dāng)減少索引時(shí),會(huì)提高修改性能,降低檢索性能。因此,當(dāng)修改性能遠(yuǎn)遠(yuǎn)大于檢索性能時(shí),不應(yīng)該創(chuàng)建索引。

如何查詢數(shù)據(jù)庫(kù)或者表中的索引

oracle對(duì)于數(shù)據(jù)庫(kù)中的表信息,存儲(chǔ)在系統(tǒng)表中。查詢已創(chuàng)建好的表索引,可通過(guò)相應(yīng)的sql語(yǔ)句到相應(yīng)的表中進(jìn)行快捷的查詢:1.根據(jù)表名,查詢一張表的索引select*fromuser_indexeswheretable_name=upper(\’表名\’);2.根據(jù)索引號(hào),查詢表索引字段select*fromuser_ind_columnswhereindex_name=(\’索引名\’);3.根據(jù)索引名,查詢創(chuàng)建索引的語(yǔ)句selectdbms_metadata.get_ddl(\’index\’,\’索引名\’,[\’用戶名\’])fromdual;–[\’用戶名\’]可省,默認(rèn)為登錄用戶ps:dbms_metadata.get_ddl還可以得到建表語(yǔ)句,如:selectdbms_metadata.get_ddl(\’table\’,\’表名\’,[\’用戶名\’])fromdual;//取單個(gè)表的建表語(yǔ)句,[\’用戶名\’]可不輸入,默認(rèn)為登錄用戶selectdbms_metadata.get_ddl(\’table\’,u.table_name)fromuser_tablesu;//取用戶下所有表的建表語(yǔ)句當(dāng)然,也可以用pl/sqldeveloper工具來(lái)查看相關(guān)的表的各種信息。

數(shù)據(jù)庫(kù)索引

1,什么是索引 索引是關(guān)系數(shù)據(jù)庫(kù)中對(duì)數(shù)據(jù)庫(kù)表中一列或所列數(shù)據(jù)進(jìn)行排序的存儲(chǔ)結(jié)構(gòu)。好比是字典的目錄 2,索引的應(yīng)用場(chǎng)景 數(shù)據(jù)庫(kù)中存放大量的數(shù)據(jù)時(shí),直行sql語(yǔ)句將花費(fèi)較大時(shí)間,時(shí)間過(guò)長(zhǎng)將影響用戶體驗(yàn),并且我們應(yīng)用中大多數(shù)接口都具有查詢功能,**都將落在數(shù)據(jù)庫(kù)查詢中,所以需要提高數(shù)據(jù)庫(kù)查詢的速度就需要使用到索引,就像通過(guò)目錄查字典就會(huì)很快查到結(jié)果 3,數(shù)據(jù)庫(kù)查詢?cè)?通過(guò)IO讀寫(xiě)在磁盤(pán)中一塊一塊查找目標(biāo)數(shù)據(jù),該過(guò)程稱為全表掃描 4,IO讀寫(xiě)是在磁盤(pán)中一條一條查,索引也是如此,為什么索引快 因?yàn)樗饕捎昧瞬煌臄?shù)據(jù)結(jié)構(gòu)(B+樹(shù)),該數(shù)據(jù)結(jié)構(gòu)在查詢上有明顯優(yōu)勢(shì) 5,索引的分類 主鍵索引,普通索引,**索引,聯(lián)合索引,全文索引。

其中聯(lián)合索引需要滿足最左前綴法則才能實(shí)現(xiàn)索引。

數(shù)據(jù)庫(kù)的索引以及在哪些列上創(chuàng)建索引

選擇開(kāi)始菜單中→程序→【managementsqlserver2008】→【sqlservermanagementstudio】命令,打開(kāi)【sqlservermanagementstudio】窗口,并使用windows或sqlserver身份驗(yàn)證建立連接。在【對(duì)象資源管理器】窗口中展開(kāi)服務(wù)器,然后選擇【數(shù)據(jù)庫(kù)】節(jié)點(diǎn)右鍵單擊【數(shù)據(jù)庫(kù)】節(jié)點(diǎn),從彈出來(lái)的快捷菜單中選擇【新建數(shù)據(jù)庫(kù)】命令。

執(zhí)行上述操作后,會(huì)彈出【新建數(shù)據(jù)庫(kù)】對(duì)話框。

在對(duì)話框、左側(cè)有3個(gè)選項(xiàng),分別是【常規(guī)】、【選項(xiàng)】和【文件組】。完成這三個(gè)選項(xiàng)中的設(shè)置會(huì)后,就完成了數(shù)據(jù)庫(kù)的創(chuàng)建工作,在【數(shù)據(jù)庫(kù)名稱】文本框中輸入要新建數(shù)據(jù)庫(kù)的名稱。例如,這里以“新建的數(shù)據(jù)庫(kù)”。在【所有者】文本框中輸入新建數(shù)據(jù)庫(kù)的所有者,如sa。

根據(jù)數(shù)據(jù)庫(kù)的使用情況,選擇啟用或者禁用【使用全文索引】復(fù)選框。在【數(shù)據(jù)庫(kù)文件】列表中包括兩行,一行是數(shù)據(jù)庫(kù)文件,而另一行是日記文件。通過(guò)單擊下面的【添加】、【刪除】按鈕添加或刪除數(shù)據(jù)庫(kù)文件。

切換到【選項(xiàng)頁(yè)】、在這里可以設(shè)置數(shù)據(jù)庫(kù)的排序規(guī)則、恢復(fù)模式、兼容級(jí)別和其他屬性。切換到【文件組】頁(yè),在這里可以添加或刪除文件組。完成以上操作后,單擊【確定】按鈕關(guān)閉【新建數(shù)據(jù)庫(kù)】對(duì)話框。

至此“新建的數(shù)據(jù)”數(shù)據(jù)庫(kù)創(chuàng)建成功。新建的數(shù)據(jù)庫(kù)可以再【對(duì)象資源管理器】窗口看到。