mysql除錯索引 MySQL索引的操作

2021-10-20 23:32:31 字數 2331 閱讀 7001

索引的概念:資料庫物件索引其實與書的目錄類似,

主要是為了提高從表中檢索資料的速度。

(2)根據索引的儲存型別可以將索引分為b型索引(btree)和雜湊索引(hash)。

(3)mysql所支援的索引:普通索引、唯一索引、全文索引、單列索引、多列索引和空間索引。

一、建立和檢視普通索引

(1)建立表時建立普通索引

create table課程表(

課程編號char(3),

課程名稱varchar(20),

課時float,

專業編號char(3),

教師編號char(4),indexindex_課程名稱(課程名稱)

showcreate table課程表 \g

explainselect * from 課程表 where 課程名稱=1\gdrop index index_課程名稱 on 課程表; \\刪除剛剛建立的索引

(2)在已經存在的表上建立普通索引

create index index_課程名稱 on課程表(課程名稱);

showcreate table課程表 \gdrop index index_課程名稱 on 課程表;

(3)通過sql語句alter table建立普通索引

alter table 課程表 add indexindex_課程名稱(課程名稱);

showcreate table課程表 \gdrop index index_課程名稱 on 課程表;

二、建立和檢視唯一索引

(1)建立表時建立唯一索引

create table班級表(

班級編號char(3),

專業編號char(3),

班主任編號char(4),unique indexindex_班級編號(班級編號)

explain select * from 班級表 where 班級編號=1\gdrop index index_班級編號 on 班級表;

(2)在已經存在的表上建立唯一索引

create unique index index_班級編號 on班級表(班級編號);

showcreate table班級表 \gdrop index index_班級編號 on 班級表;

(3)通過sql語句alter table建立唯一索引

alter table 班級表 add unique indexindex_班級編號(班級編號);

showcreate table班級表 \gdrop index index_班級編號 on 班級表;

drop table 教師表;

(1)建立表時建立全文索引

create table教師表(

教師編號varchar(10),

教師姓名varchar(50),

職務varchar(6),

性別char(1),

年齡int,

fulltextindexindex_教師姓名(教師姓名)

)engine=myisam;

showcreate table教師表 \gdrop index index_教師姓名 on 教師表;

(2)在已經存在的表上建立全文索引

create fulltext index index_教師姓名 on教師表(教師姓名);

showcreate table教師表 \gdrop index index_教師姓名 on 教師表;

(3)通過sql語句alter table建立全文索引

alter table 教師表 add fulltext indexindex_教師姓名(教師姓名);

showcreate table教師表 \gdrop index index_教師姓名 on 教師表;

四、建立和檢視多列索引

(1)建立表時建立多列索引

create table專業表(

專業編號char(3),

專業名稱varchar(20),keyindex_專業編號_專業名稱(專業編號,專業名稱)

showcreate table專業表 \gdrop index index_專業編號_專業名稱 on 專業表;

(2)在已經存在的表上建立多列索引

create index index_專業編號_專業名稱 on專業表(專業編號,專業名稱);

showcreate table專業表 \gdrop index index_專業編號_專業名稱 on 專業表;

(3)通過sql語句alter table建立多列索引

alter table 專業表 add indexindex_專業編號_專業名稱(專業編號,專業名稱);

showcreate table專業表 \gdrop index index_專業編號_專業名稱 on 專業表;

mysql 雜湊索引 MySQL索引之雜湊索引

雜湊索引 hash index 建立在雜湊表的基礎上,它只對使用了索引中的每一列的精確查詢有用。對於每一行,儲存引擎計算出了被索引的雜湊碼 hash code 它是乙個較小的值,並且有可能和其他行的雜湊碼不同。它把雜湊碼儲存在索引中,並且儲存了乙個指向雜湊表中的每一行的指標。在mysql中,只有me...

mysql主鍵索引 MySQL索引之主鍵索引

在mysql裡,主鍵索引和輔助索引分別是什麼意思,有什麼區別?上次的分享我們介紹了聚集索引和非聚集索引的區別,本次我們繼續介紹主鍵索引和輔助索引的區別。1 主鍵索引 主鍵索引,簡稱主鍵,原文是primary key,由乙個或多個列組成,用於唯一性標識資料表中的某一條記錄。乙個表可以沒有主鍵,但最多只...

mysql聚集索引 MySQL索引之聚集索引介紹

在mysql裡,聚集索引和非聚集索引分別是什麼意思,有什麼區別?在mysql中,innodb引擎表是 聚集 索引組織表 clustered index organize table 而myisam引擎表則是堆組織表 heap organize table 也有人把聚集索引稱為聚簇索引。當然了,聚集索...