国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

簡單介紹下MYSQL的索引類型

2024-07-24 12:45:47
字體:
來源:轉載
供稿:網友

一、介紹一下索引的類型

Mysql常見索引有:主鍵索引、唯一索引、普通索引、全文索引、組合索引
PRIMARY KEY(主鍵索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE (`column`)
INDEX(普通索引)      ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) FULLTEXT(全文索引) ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
組合索引    ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

Mysql各種索引區別:

普通索引(INDEX):最基本的索引,沒有任何限制
唯一索引(UNIQUE):與"普通索引"類似,不同的就是:索引列的值必須唯一,但允許有空值。
主鍵索引(PRIMARY):它 是一種特殊的唯一索引,不允許有空值。
全文索引(FULLTEXT ):僅可用于 MyISAM 表, 用于在一篇文章中,檢索文本信息的, 針對較大的數據,生成全文索引很耗時好空間。
組合索引:為了更多的提高mysql效率可建立組合索引,遵循”最左前綴“原則。

舉個例子來說,比如你在為某商場做一個會員卡的系統。
這個系統有一個會員表
有下列字段:
會員編號 INT
會員姓名 VARCHAR(10)
會員身份證號碼 VARCHAR(18)
會員電話 VARCHAR(10)
會員住址 VARCHAR(50)
會員備注信息 TEXT

那么這個 會員編號,作為主鍵,使用 PRIMARY
會員姓名 如果要建索引的話,那么就是普通的 INDEX
會員身份證號碼 如果要建索引的話,那么可以選擇 UNIQUE (唯一的,不允許重復)
會員備注信息 , 如果需要建索引的話,可以選擇 FULLTEXT,全文搜索。

不過 FULLTEXT 用于搜索很長一篇文章的時候,效果最好。
用在比較短的文本,如果就一兩行字的,普通的 INDEX 也可以。

 創建索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))

 刪除索引的語法:DROP INDEX index_name ON tableName

二、索引分單列索引和組合索引

   單列索引:即一個索引只包含單個列,一個表可以有多個單列索引,但這不是組合索引。
   組合索引:即一個索包含多個列。

為了形象地對比兩者,再建一個表:

CREATE TABLE myIndex (i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(50) NOT NULL,vc_City VARCHAR(50) NOT NULL,i_Age INT NOT NULL,i_SchoolID INT NOT NULL, PRIMARY KEY (i_testID));

在這10000條記錄里面七上八下地分布了5條vc_Name="erquan"的記錄,只不過city,age,school的組合各不相同。
來看這條T-SQL:

復制代碼 代碼如下:
SELECT i_testID FROM myIndex WHERE vc_Name='erquan' AND vc_City='鄭州' AND i_Age=25;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 水城县| 泉州市| 泰顺县| 开平市| 常熟市| 伽师县| 兴仁县| 万载县| 米脂县| 洪湖市| 大足县| 绩溪县| 孝感市| 芮城县| 荥阳市| 兴业县| 万山特区| 土默特左旗| 洛浦县| 凭祥市| 武陟县| 广宁县| 新宁县| 阿坝县| 滨海县| 青河县| 遂溪县| 泸定县| 伊宁县| 闻喜县| 汝城县| 英德市| 温泉县| 伊宁县| 呼图壁县| 日土县| 南澳县| 保定市| 开阳县| 任丘市| 松阳县|