久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql索引原理與用法實(shí)例分析

瀏覽:26日期:2023-10-15 14:57:48

本文實(shí)例講述了mysql索引原理與用法。分享給大家供大家參考,具體如下:

本文內(nèi)容: 什么是索引 創(chuàng)建索引 普通索引 唯一索引 全文索引 單列索引 多列索引 查看索引 刪除索引

首發(fā)日期:2018-04-14

什么是索引: 索引可以幫助快速查找數(shù)據(jù) 而基本上索引都要求唯一(有些不是),所以某種程度上也約束了數(shù)據(jù)的唯一性。 索引創(chuàng)建在數(shù)據(jù)表對(duì)象上,由一個(gè)或多個(gè)字段組成,這若干個(gè)字段組成“鍵”存儲(chǔ)到數(shù)據(jù)結(jié)構(gòu)中(B樹(shù)或者哈希表)?!究梢愿鶕?jù)數(shù)據(jù)結(jié)構(gòu)分類(lèi)成B樹(shù)索引(innodbmyisam引擎),哈希索引(memory引擎)】 由于索引是加快數(shù)據(jù)查找的,所以一般都使用在經(jīng)常需要用來(lái)查找的字段上(比如where中常用字段) mysql支持的索引類(lèi)型有:普通索引、唯一索引、全文索引、單列索引、多列索引、空間索引。補(bǔ)充: 主鍵與索引的區(qū)別:主鍵也是一種索引,主鍵也是一種唯一索引,但索引的作用主要是提高查找速度,而主鍵作用主要是標(biāo)識(shí)記錄唯一性(當(dāng)然也便于查找)。創(chuàng)建索引:普通索引:index 普通索引就是沒(méi)有“唯一”,“不為空”要求的索引。 語(yǔ)法: create table 表名(字段 數(shù)據(jù)類(lèi)型,字段 數(shù)據(jù)類(lèi)型,…index|key [索引名] (字段 [索引的長(zhǎng)度] [asc|desc])); index|key代表可以使用index關(guān)鍵字或key關(guān)鍵字 索引名是可選的,不填時(shí)索引名為字段名 字段是加索引的字段,字段可以有多個(gè)(多列索引)。 索引的長(zhǎng)度,可選的(有些引擎設(shè)置了最大長(zhǎng)度,一般不深入學(xué)習(xí)應(yīng)該很少遇到,這里不講述) asc|desc是可選的,代表索引中的“關(guān)鍵字”的排序 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:create index 索引名 on 表名 (字段 [索引的長(zhǎng)度] [asc|desc]); 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:alter table 表名 add index|key 索引名(字段 [索引的長(zhǎng)度] [asc|desc]); 唯一索引: 唯一索引,就是創(chuàng)建索引時(shí),要求字段的數(shù)據(jù)是唯一的。 創(chuàng)建語(yǔ)法: create table 表名(字段 數(shù)據(jù)類(lèi)型,字段 數(shù)據(jù)類(lèi)型,… unique index|key [索引名] (字段 [索引的長(zhǎng)度] [asc|desc])); 【參數(shù)信息參考普通索引的】 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:create unique index 索引名 on 表名 (字段 [索引的長(zhǎng)度] [asc|desc]); 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:alter table 表名 add unqiue index|key 索引名(字段 [索引的長(zhǎng)度] [asc|desc]); 全文索引:fulltext index 全文索引一般使用在數(shù)據(jù)類(lèi)型為char,varchar和text的字段上,方便查找這些比較長(zhǎng)的數(shù)據(jù)。 myisam存儲(chǔ)引擎支持全文索引 創(chuàng)建語(yǔ)法: create table 表名(字段 數(shù)據(jù)類(lèi)型,字段 數(shù)據(jù)類(lèi)型,… fulltext index|key [索引名] (字段 [索引的長(zhǎng)度] [asc|desc])); 【參數(shù)信息參考普通索引的】 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:create fulltext index 索引名 on 表名 (字段 [索引的長(zhǎng)度] [asc|desc]); 在現(xiàn)有表結(jié)構(gòu)的情況下增加索引:alter table 表名 add fulltext index|key 索引名(字段 [索引的長(zhǎng)度] [asc|desc]); 單列索引: 上面的加索引字段為一個(gè)時(shí),為單列索引多列索引: 加索引的字段為多個(gè)時(shí),為多列索引 創(chuàng)建語(yǔ)法:只需要將上面的(字段 [索引的長(zhǎng)度] [asc|desc])變成(字段1 [索引的長(zhǎng)度] [asc|desc],字段2 [索引的長(zhǎng)度] [asc|desc],字段1 [索引的長(zhǎng)度] [asc|desc])即可。查看索引: 可以通過(guò)查看表結(jié)構(gòu)查看索引 mysql索引原理與用法實(shí)例分析 可以通過(guò)查看表創(chuàng)建語(yǔ)句查看索引 mysql索引原理與用法實(shí)例分析 可以使用explain語(yǔ)句查看索引,explain是用來(lái)判斷mysql語(yǔ)句執(zhí)行的時(shí)間效率的。 所以可以使用explain select語(yǔ)句 where 加上索引的字段作為條件; 結(jié)果中的possible_key是可能使用到的索引,key實(shí)際使用到的索引。 比如:

explain select * from user_info where username='lilei';mysql索引原理與用法實(shí)例分析 刪除索引: drop index 索引名 on 表名; 比如:

drop index myindex on user_info;

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL索引操作技巧匯總》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 通城县| 汤原县| 隆化县| 姚安县| 勃利县| 城固县| 邯郸县| 肥乡县| 济南市| 丹江口市| 邢台市| 福清市| 西城区| 肃北| 常州市| 宁德市| 武夷山市| 萝北县| 普兰店市| 九江市| 镇平县| 北流市| 泰来县| 儋州市| 栾城县| 安泽县| 屏边| 平舆县| 高清| 二连浩特市| 乌审旗| 古蔺县| 同仁县| 手游| 白河县| 镇平县| 辽中县| 三穗县| 铁岭市| 松滋市| 宝应县|