首頁 > 資料庫 > mysql教程 > MySQL索引的使用

MySQL索引的使用

黄舟
發布: 2017-02-06 10:23:09
原創
1350 人瀏覽過

1.1 索引的建立
  1.1.1 主鍵索引的建立
  建立資料表的時候建立主鍵索引
  

create table aaa(id int primary key,name varchar(64) not null default ”);
登入後複製

  先建主鍵表號
  1) 一個表格最多只能有一個主鍵
  2) 一個主鍵可以指向多列(複合主鍵)

  3) 主鍵索引的效率是最高的,因此我們應該給id一般id是自增的

  4) 主鍵索引的列是不能重複也不能為null
  1.1.2 唯一索引的創建直接在創建表的時候,指定某列或某幾列為唯一索引
  

create table aaa(id int,name varchar(64) not null default ”);
  alter table aaa add primary key(id);
登入後複製

  建表後再創建唯一索引
  

mysql> create table aaa(id int,name varchar(64) not null default ”,email varchar(64) not null default ” unique);
登入後複製

  唯一索引的特點
  1)一張表中可以有多個唯一索引
  2)唯一索引不能重複,但是如果你沒有指定not null,唯一索引可以為null,而且可以有多個。

  3)何時使用唯一索引,當某列資料不會重複時才能使用

  4)唯一索引效率也很高,可以考慮優先使用
  1.1.3 普通索引的建立直接在建立表格的時候,指定某某列或某幾列為普通索引
  

1)mysql> create unique index uni_name on aaa (name);
  2)mysql> alter table aaa add unique (email);
登入後複製

  建表後再建立普通索引
 

mysql> create table aaa(id int,name varchar(64) not null default ”,namevarchar(64) not null default ” index);
登入後複製

  㟀索引列的資料可以重複
  3)效率相對而言低
  1.1.4 全文索引的創建

  概述:全文索引是針對對文章,漢字,英文的索引,可以快速檢索到文章中的某個關鍵字



 1)mysql> create index ind_name on aaa (name);
  2)mysql> alter table aaa add index(name);
登入後複製

  使用:select * from articles where match(body) against('天氣');
   〜  1)Mysqlsqlp,英文
  3)停止詞:對於特別普通的字母,不會建索引
  4)匹配度:全文索引是按照一定機率進行匹配的。
  如何解決mysql的全文索引不支援中文的問題  1) 使用mysql的一個中文檢索外掛mysqlcft

  2) 可以使用專門的中文檢索引擎sphinx 中文版(coreseek) 1.2 索引的名表 㟀des〜斯 from 表名G
  show index from 表名G
  show indexes from 表名G
  1.3 索引的修改
  先刪除新增名DROP INDEX 索引名;
  1.6 索引的注意事項較為頻繁的作為查詢條件的字段應該創建索引唯一性太差的字段不適合單獨創建索引,即使頻繁作為查詢條件更新非常頻繁的字段不適合創建索引不會出現WHERE子句的欄位不該建立索引.


以上就是MySQL索引的使用的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!



相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板