最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL索引管理的使用解讀

 更新時間:2025年05月17日 10:16:12   作者:一寫就錯  
這篇文章主要介紹了MySQL索引管理的使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

常見的索引

(1)PRIMARY:主鍵索引,索引列值唯一且不能為空;一張表只能有一個主鍵索引。

(2)INDEX:普通索引,索引列沒有任何限制。

(3)UNIQUE:唯一索引,索引列的值必須是唯一的,但允許有空值。

(4)FULLTEXT:全文索引,只有MyISAM存儲引擎支持。

(5)SPATIAL:空間索引,對空間數(shù)據(jù)類型的字段建立的索引。

索引的建立與查看

1. 創(chuàng)建數(shù)據(jù)表的同時建立索引

在 CREATE TABLE 語句中添加一下的語句來實現(xiàn)在創(chuàng)建數(shù)據(jù)表的同時建立索引。

create table 表名 (
字段1 數(shù)據(jù)類型 字段屬性,
字段2 數(shù)據(jù)類型 字段屬性,
     ...
索引類型 index 索引名 (字段名)
);

例如在student表中,在字段sname上創(chuàng)建普通索引index_sname;

在字段dept字段和sex字段上創(chuàng)建聯(lián)合索引index_dept_sex;

在remarks字段上創(chuàng)建全文索引ft_remarks。

create table student(
sno char(6) primary key comment '學號',
sname varchar(20) not null comment '姓名',
dept varchar(20) comment '專業(yè)',
sex char(1) comment '性別',
birthday date comment '出生日期',
totalcredit decimal(4,1) default 0 comment '總學分',
remarks varchar(100)  comment '備注',
-- 在sname字段上創(chuàng)建普通索引
index index_sname (sname) ,
-- 在dept字段和sex字段上創(chuàng)建聯(lián)合索引
 index index_dept_sex (dept,sex),
-- 在remarks字段上創(chuàng)建全文索引
fulltext index ft_remarks (remarks)
) engine = MyISAM;

2. 創(chuàng)建數(shù)據(jù)表后添加索引

可以使用 CREATE INDEX 語句在一個已有的數(shù)據(jù)表上添加索引

CREATE INDEX 索引名稱 ON 數(shù)據(jù)表名 (列名)

例如在course表cname字段上創(chuàng)建普通索引index_cname。

create index index_cname on course(cname);

在course表cname字段上創(chuàng)建前綴索引索引pf_cname。

create index index_cname on course(cname(4));

3. 使用ALTER TABLE語句建立索引

通過ALTER TABLE 語句直接為已有的數(shù)據(jù)表建立索引

ALTER TABLE 數(shù)據(jù)表名 ADD 索引類型 INDEX 索引名稱(類名)。

例如在score表的sno字段和cno字段上創(chuàng)建聯(lián)合唯一索引。

alter table score add unique index index_sno_cno (sno,cno);

4. 查看數(shù)據(jù)表上的引用

通過SHOW INDEX語句來查看索引.

SHOW INDEX FROM 數(shù)據(jù)表名

例如顯示course表的索引信息。

show index from course;

course 表的索引信息:

參考說明:

  • Non_unqiue:索引字段值是否可以重復(fù),0表示不可以,1表示可以。
  • key_name:索引的名字,如果索引是主鍵索引,則它的名字為PRIMARY。
  • Seq_in_index:建立索引的字段序號值,聯(lián)合索引第一個字段為1,第二個字段為2。
  • Column_name:建立索引的字段。
  • Collation:索引字段是否有序,A表示有序,NULL表示沒有排序。
  • Cardinality:計算連接時使用索引的可能性,值越大,可能性越高。
  • Sub_part:前綴索引的長度,如4,無前綴則為NULL。
  • Index_type:索引類型,可選值有BTREE、FULLTEXT、HASH、RTREE。

查看索引的使用情況

使用EXPLAIN關(guān)鍵字查看SQL語句中執(zhí)行索引的使用情況。

例如查看student表中的索引使用信息

explain select * from student where sname like '王%';

查看student表中的全文索引使用信息

explain select * from student where match (remarks) against ('三好學生');

參考說明:

  • id: 查詢標識符,默認從1開始,若使用了聯(lián)合查詢,則該值依次遞增,聯(lián)合查詢結(jié)果對應(yīng)的該值為NULL。
  • select_type: 操作類型,如DELETE、UPDATE等,擔當執(zhí)行SELECT語句時,它的值有多種,例如,SIMPLE表示不需聯(lián)合查詢或簡單的子查詢。
  • table: 查詢表的名字。
  • partitions: 匹配的分區(qū)。
  • type: 取值可為system,const、eq_ref、ref、fulltext等。
  • key: 查詢使用到的索引。
  • ref: 表示哪些字段或常量與索引進行比較,例如,const表示常量與索引進行了比較。
  • rows: 預(yù)計需要檢索的記錄數(shù)。
  • filtered: 按條件過濾的百分比。
  • Extral: 附加信息,例如,USing index 表示使用了索引覆蓋。

索引的刪除

1. 使用ALTER TABLE 語句刪除索引

ALTER TABLE 表名 DROP INDEX 索引名;

例如刪除student表中的index_sname索引。

alter table student drop index index_sname ;

2. 使用DROP INDEX 語句刪除索引

DROP INDEX 索引名 ON 表名;

例如刪除score表中的index_sno_cno索引。

drop index index_sno_cno on score;

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL數(shù)據(jù)庫社招必考題:索引如何優(yōu)化WHERE子句?

    MySQL數(shù)據(jù)庫社招必考題:索引如何優(yōu)化WHERE子句?

    本文系統(tǒng)分享WHERE子句優(yōu)化方法,從定位低效SQL、分析原因到逐步改進,涵蓋索引、寫法調(diào)整及數(shù)據(jù)訪問優(yōu)化,通過實戰(zhàn)案例說明常見錯誤及解決策略,強調(diào)優(yōu)化需邏輯而非僅建索引,助力面試準備
    2025-09-09
  • mysql的bigint?和?bigint(20)?主鍵自增的區(qū)別解析

    mysql的bigint?和?bigint(20)?主鍵自增的區(qū)別解析

    bigint和bigint(20)在MySQL中作為主鍵自增時,功能完全相同,本文介紹mysql的bigint和bigint(20)主鍵自增的區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • mysql重復(fù)索引與冗余索引實例分析

    mysql重復(fù)索引與冗余索引實例分析

    這篇文章主要介紹了mysql重復(fù)索引與冗余索引,簡單說明了重復(fù)索引與冗余索引的概念、應(yīng)用場景并結(jié)合實例形式分析了mysql重復(fù)索引與冗余索引相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • 簡單了解MySQL存儲引擎

    簡單了解MySQL存儲引擎

    這篇文章主要介紹了MySQL存儲引擎的相關(guān)資料,為開發(fā)時選擇合適的存儲引擎提供參考,感興趣的朋友可以了解下
    2020-07-07
  • MySQL觸發(fā)器的應(yīng)用示例詳解

    MySQL觸發(fā)器的應(yīng)用示例詳解

    這篇文章主要介紹了MySQL觸發(fā)器的應(yīng)用,觸發(fā)器是與MySQL數(shù)據(jù)表有關(guān)的數(shù)據(jù)庫對象,在滿足定義條件時觸發(fā),并執(zhí)行觸發(fā)器中定義的語句集合,觸發(fā)器的這種特性可以協(xié)助應(yīng)用在數(shù)據(jù)庫端確保數(shù)據(jù)的完整性,需要的朋友可以參考下
    2022-08-08
  • MYSQL無法連接 提示10055錯誤的解決方法

    MYSQL無法連接 提示10055錯誤的解決方法

    這篇文章主要介紹了MYSQL無法連接 提示10055錯誤的解決方法,需要的朋友可以參考下
    2016-12-12
  • MySQL?中MATCH?全文搜索關(guān)鍵字示例詳解

    MySQL?中MATCH?全文搜索關(guān)鍵字示例詳解

    這篇文章主要介紹了MySQL?中MATCH?全文搜索關(guān)鍵字詳解,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-09-09
  • Ubuntu20下MySQL?8.0.28?安裝卸載方法圖文教程

    Ubuntu20下MySQL?8.0.28?安裝卸載方法圖文教程

    這篇文章主要為大家詳細介紹了Ubuntu20下MySQL?8.0.28?安裝卸載方法圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • MySQL調(diào)優(yōu)之索引在什么情況下會失效詳解

    MySQL調(diào)優(yōu)之索引在什么情況下會失效詳解

    索引的失效,會大大降低sql的執(zhí)行效率,日常中又有哪些常見的情況會導(dǎo)致索引失效?下面這篇文章主要給大家介紹了關(guān)于MySQL調(diào)優(yōu)之索引在什么情況下會失效的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • 解析mysql中:單表distinct、多表group by查詢?nèi)コ貜?fù)記錄

    解析mysql中:單表distinct、多表group by查詢?nèi)コ貜?fù)記錄

    本篇文章是對mysql中的單表distinct、多表group by查詢?nèi)コ貜?fù)記錄進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06

最新評論

宜章县| 新乡市| 宁明县| 长岛县| 南投县| 永城市| 师宗县| 安乡县| 嘉鱼县| 清丰县| 闽侯县| 克山县| 宁晋县| 兴安县| 岢岚县| 简阳市| 崇礼县| 山东省| 东平县| 蓝田县| 元朗区| 柘荣县| 宝鸡市| 宜都市| 玉林市| 元谋县| 横山县| 台湾省| 哈巴河县| 峨眉山市| 咸宁市| 泰州市| 连云港市| 长治县| 东城区| 乌审旗| 商都县| 达州市| 临沭县| 临洮县| 邻水|