【數據庫】索引

索引

簡介

索引在MySQL中也叫做'鍵 key',
存處引擎用于快速找到記錄的一種數據結構
索引對于良好的性能非常關鍵,
尤其是當表中的數據越來越多,索引對于性能的影響愈發重要
索引優化應該是對查詢性能優化的最有效手段了,
索引能夠輕易將查詢性能提高好幾個數量級
索引相當于新華字典音序表
如果要查某個漢字,不使用音序表,則需要從幾百頁中的數據中去找找個漢字
簡單理解就是,索引就像一本書的目錄,讓你很快能夠查詢到你想要的數據

分類

  • 普通索引
  • 唯一索引
  • 全文索引
  • 單列索引
  • 多列索引
  • 空間索引

那么,現在本人來介紹下“索引”的使用語法

使用語法:

1. 創建索引:

使用 index 或者 key 關鍵字

方式1:創建表時 創建索引:

語法

create table 表名(
    字段名1 數據類型1 [約束],
    字段名2 數據類型2 [約束],
    [unique|fulltext|spatial] index|key
    [索引名](字段名[(長度)] [ASC|DESC])   -- 注意中括號里面的是可選項
);

本人現在對創建索引做一點說明:

說明
目前MySQL數據庫默認使用的是 InnoDB引擎
InnoDB引擎 不支持FULLTEXT類型的索引

那么,現在本人來展示下創建索引的語句:

-- 創建多列索引
create table test2(
    tid int,
    tname varchar(32),
    tlog varchar(100),
    index my_Index (tname,tlog)  -- 給 tname 和 tlog 兩個列都建立索引
 );
-- 創建唯一索引
create table test(
        tid int,
        tname varchar(32),
        unique index(tname)  -- 創建唯一索引,這列的值不能重復
    );

方式2:創建表后 給表增加索引:

語法

create [unique|fulltext|spatial] index 索引名 on 表名 (字段名[(長度)] [ASC|DESC]);

那么,現在本人來展示下創建索引的語句:

-- 創建普通索引例子
create index myIndex on student (sname);

-- 創建全文索引例子
    create unique index myIndex on student (sname);
    
-- 創建多列索引例子
    create index myIndex on student (sname,slog);

方式3:創建表后,修改表的語句:

語法:

alter table 表名 add [unique|fulltext|spatial] index 索引名 on 表名 (字段名[(長度)] [ASC|DESC]);

例子:

-- 創建普通索引的例子
    alter table student add index MyIndex(sname);
-- 創建唯一索引的例子
    alter table student add unique index MyIndex(sname);
-- 創建多列索引
    alter table student add index MyIndex(sname,slog);

2. 刪除索引:

語法

drop index 索引名 on 表名;

3. 查看索引:

語法

show create table 表名\G;

那么,在最后,本人再來說明一點:
說明

在建表的時候,如果有主鍵
這個主鍵,就帶有所有主鍵索引


那么,本篇博文的知識點在這里就講解完畢了。
(請觀看本人博文 —— 《數據庫 —— 專欄總集篇》)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 索引的基本原理,以及數據是如何被訪問的 (一)SQLS如何訪問沒有建立索引的數據表 Heap譯成漢語叫做“堆”,其...
    安易學車閱讀 3,475評論 0 8
  • MySql數據庫索引原理 寫在前面:索引對查詢的速度有著至關重要的影響,理解索引也是進行數據庫性能調優的起點。考慮...
    琴匣自鳴閱讀 1,709評論 0 2
  • 數據庫索引是一個初級程序員容易忽視的東西,因為絕大多數時候我們都是使用簡單的默認索引,也就是主鍵索引,但面對現在硬...
    onlyHalfSoul閱讀 967評論 0 2
  • 今天我學習蘇霍姆林斯基給教師的建議第91條我怎樣領導教師集體的創造性勞動。我想從教師應該是教育家的方面講一講,說一...
    墾利劉曉路閱讀 1,541評論 0 0
  • 我們今天來聊一聊錢,時間和注意力,這三者的關系,大家且聽聽這句話,凡是能用錢買的,其實都是便宜的,這句話的肯定會被...
    聽雨廖哥閱讀 450評論 0 0