成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

帶您深入了解MySQL索引類型

數(shù)據(jù)庫 MySQL
MySQL數(shù)據(jù)庫中,索引的種類很多,下文就為您分類介紹MySQL中的索引類型,希望對您學(xué)習(xí)MySQL數(shù)據(jù)庫能夠有所幫助。

MySQL索引類型是MySQL中的基礎(chǔ)知識,下面將為您詳細(xì)介紹MySQL索引類型方面的知識,如果您可以讓您對MySQL索引類型有更多的了解。

1、普通索引

普通索引(由關(guān)鍵字KEY或INDEX定義的索引)的唯一任務(wù)是加快對數(shù)據(jù)的訪問速度。因此,應(yīng)該只為那些最經(jīng)常出現(xiàn)在查詢條件(WHEREcolumn=)或排序條件(ORDERBYcolumn)中的數(shù)據(jù)列創(chuàng)建索引。只要有可能,就應(yīng)該選擇一個數(shù)據(jù)最整齊、最緊湊的數(shù)據(jù)列(如一個整數(shù)類型的數(shù)據(jù)列)來創(chuàng)建索引。

2、唯一索引

普通索引允許被索引的數(shù)據(jù)列包含重復(fù)的值。比如說,因為人有可能同名,所以同一個姓名在同一個“員工個人資料”數(shù)據(jù)表里可能出現(xiàn)兩次或更多次。

如果能確定某個數(shù)據(jù)列將只包含彼此各不相同的值,在為這個數(shù)據(jù)列創(chuàng)建索引的時候就應(yīng)該用關(guān)鍵字UNIQUE把它定義為一個唯一索引。這么做的好處:一是簡化了MySQL對這個索引的管理工作,這個索引也因此而變得更有效率;二是MySQL會在有新記錄插入數(shù)據(jù)表時,自動檢查新記錄的這個字段的值是否已經(jīng)在某個記錄的這個字段里出現(xiàn)過了;如果是,MySQL將拒絕插入那條新記錄。也就是說,唯一索引可以保證數(shù)據(jù)記錄的唯一性。事實上,在許多場合,人們創(chuàng)建唯一索引的目的往往不是為了提高訪問速度,而只是為了避免數(shù)據(jù)出現(xiàn)重復(fù)。

3、主索引

在前面已經(jīng)反復(fù)多次強(qiáng)調(diào)過:必須為主鍵字段創(chuàng)建一個索引,這個索引就是所謂的“主索引”。主索引與唯一索引的唯一區(qū)別是:前者在定義時使用的關(guān)鍵字是PRIMARY而不是UNIQUE。

4、外鍵索引

如果為某個外鍵字段定義了一個外鍵約束條件,MySQL就會定義一個內(nèi)部索引來幫助自己以最有效率的方式去管理和使用外鍵約束條件。

5、復(fù)合索引

索引可以覆蓋多個數(shù)據(jù)列,如像INDEX(columnA,columnB)索引。這種索引的特點是MySQL可以有選擇地使用一個這樣的索引。如果查詢操作只需要用到columnA數(shù)據(jù)列上的一個索引,就可以使用復(fù)合索引INDEX(columnA,columnB)。不過,這種用法僅適用于在復(fù)合索引中排列在前的數(shù)據(jù)列組合。比如說,INDEX(A,B,C)可以當(dāng)做A或(A,B)的索引來使用,但不能當(dāng)做B、C或(B,C)的索引來使用。

6、索引的長度

在為CHAR和VARCHAR類型的數(shù)據(jù)列定義索引時,可以把索引的長度限制為一個給定的字符個數(shù)(這個數(shù)字必須小于這個字段所允許的***字符個數(shù))。這么做的好處是可以生成一個尺寸比較小、檢索速度卻比較快的索引文件。在絕大多數(shù)應(yīng)用里,數(shù)據(jù)庫中的字符串?dāng)?shù)據(jù)大都以各種各樣的名字為主,把索引的長度設(shè)置為10~15個字符已經(jīng)足以把搜索范圍縮小到很少的幾條數(shù)據(jù)記錄了。在為BLOB和TEXT類型的數(shù)據(jù)列創(chuàng)建索引時,必須對索引的長度做出限制;MySQL所允許的***索引全文索引文本字段上的普通索引只能加快對出現(xiàn)在字段內(nèi)容最前面的字符串(也就是字段內(nèi)容開頭的字符)進(jìn)行檢索操作。如果字段里存放的是由幾個、甚至是多個單詞構(gòu)成的較大段文字,普通索引就沒什么作用了。這種檢索往往以的形式出現(xiàn),這對MySQL來說很復(fù)雜,如果需要處理的數(shù)據(jù)量很大,響應(yīng)時間就會很長。

這類場合正是全文索引(full-textindex)可以大顯身手的地方。在生成這種類型的索引時,MySQL將把在文本中出現(xiàn)的所有單詞創(chuàng)建為一份清單,查詢操作將根據(jù)這份清單去檢索有關(guān)的數(shù)據(jù)記錄。全文索引即可以隨數(shù)據(jù)表一同創(chuàng)建,也可以等日后有必要時再使用下面這條命令添加:

ALTERTABLEtablenameADDFULLTEXT(column1,column2)有了全文索引,就可以用SELECT查詢命令去檢索那些包含著一個或多個給定單詞的數(shù)據(jù)記錄了。下面是這類查詢命令的基本語法:

SELECT*FROMtablename

WHEREMATCH(column1,column2)AGAINST(‘word1','word2','word3’)

上面這條命令將把column1和column2字段里有word1、word2和word3的數(shù)據(jù)記錄全部查詢出來。

注解:InnoDB數(shù)據(jù)表不支持全文索引。

 

 

【編輯推薦】

MySQL外鍵和參照完整性的關(guān)系

MySQL轉(zhuǎn)換Oracle的七大注意事項

詳解MySQL中SlowLog的實際配置

帶您了解MySQL的特點

查看MySQL數(shù)據(jù)庫表的命令介紹

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-09-28 10:46:39

sql字段類型

2010-09-27 11:29:36

SQL全文索引

2010-10-11 16:45:18

MySQL ifnul

2010-10-14 11:25:39

2010-10-14 11:33:42

MySQL用戶

2010-10-09 14:08:52

MYSQL Cast函

2010-10-12 15:30:04

MySQL權(quán)限管理

2010-10-15 11:27:21

Mysql臨時表

2010-10-15 15:32:06

Mysql外部鎖定

2010-10-12 13:14:11

mysql索引類型

2017-10-31 11:30:22

數(shù)據(jù)庫MySQL權(quán)限管理

2010-10-27 15:58:01

Oracle臨時表

2010-10-29 14:57:12

Oracle歸檔模式

2010-10-26 11:28:33

ORACLE運行方式

2010-10-28 10:19:29

oracle權(quán)限管理

2010-10-29 10:04:27

2010-11-11 13:39:57

SQL連接查詢

2010-10-19 13:26:45

SQL Server事

2010-11-01 15:06:52

MYSQL字符串連接

2010-10-25 14:09:01

Oracle觸發(fā)器
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲欧美在线观看 | 国产高清一区二区三区 | 亚洲综合一区二区三区 | 国产清纯白嫩初高生视频在线观看 | 久久99国产精品 | 亚洲精品亚洲人成人网 | 国产精品视频久久久 | 免费国产视频在线观看 | 欧美成人h版在线观看 | 欧美中文一区 | 色婷婷av久久久久久久 | 日本久久一区二区三区 | 成人国产精品免费观看 | 免费特黄视频 | 午夜在线视频 | 久久久久久亚洲精品 | 538在线精品| 国产99久久久国产精品 | 91亚洲国产成人久久精品网站 | 色视频在线免费观看 | 国产成人一区二区三区久久久 | 亚洲国产精品久久久 | 成人精品| 91精品国产色综合久久 | 亚洲精选久久 | 精品一区二区久久久久久久网站 | 欧美jizzhd精品欧美巨大免费 | 最新超碰 | 在线观看涩涩视频 | 九九热国产精品视频 | 色天堂影院| 成人激情视频网 | 中文字幕丁香5月 | 自拍偷拍亚洲欧美 | 成人在线精品视频 | 欧美午夜一区二区三区免费大片 | 日韩欧美一区在线 | 亚洲精品一区二区三区在线 | 日韩精品一区二区三区高清免费 | 欧美久久精品 | 成人精品系列 |