程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 第七章 索引,第七章

第七章 索引,第七章

編輯:MySQL綜合教程

第七章 索引,第七章


第一節:索引的引入

索引定義:索引是由數據庫表中一列或者多列組合而成,其作用是提高對表中數據的查詢速度;
類似於圖書的目錄,方便快速定位,尋找指定的內容;

第二節:索引的優缺點

優點:提高查詢數據的速度;
缺點:創建和維護索引的時間增加了;

第三節:索引實例


第四節:索引分類

1,普通索引
這類索引可以創建在任何數據類型中;


2,唯一性索引
使用 UNIQUE 參數可以設置,在創建唯一性索引時,限制該索引的值必須是唯一的;


3,全文索引
使用 FULLTEXT 參數可以設置,全文索引只能創建在 CHAR,VARCHAR,TEXT 類型的字段上。主要作用
就是提高查詢較大字符串類型的速度;只有 MyISAM 引擎支持該索引,Mysql 默認引擎不支持;


4,單列索引
在表中可以給單個字段創建索引,單列索引可以是普通索引,也可以是唯一性索引,還可以是全文索引;


5,多列索引
多列索引是在表的多個字段上創建一個索引;


6,空間索引
使用 SPATIAL 參數可以設置空間索引。空間索引只能建立在空間數據類型上,這樣可以提高系統獲取空間數
據的效率;只有 MyISAM 引擎支持該索引,Mysql 默認引擎不支持;


第五節:創建索引


5.1 創建表的時候創建索引

CREATE TABLE 表名 (屬性名 數據類型 [完整性約束條件],
屬性名 數據類型 [完整性約束條件],
....
屬性名 數據類型
[UNIQUE | FULLTEXT | SPATIAL ] INDEX| KEY
[別名] (屬性名 1 [(長度)] [ASC | DESC])
);


1,創建普通索引

CREATE TABLE t_user1(id INT ,
     userName VARCHAR(20),
     PASSWORD VARCHAR(20),
     INDEX (userName)
);


2,創建唯一性索引

 

CREATE TABLE t_user2(id INT ,
     userName VARCHAR(20),
     PASSWORD VARCHAR(20),
     UNIQUE INDEX index_userName(userName)
);


3,創建全文索引

 

mysql不支持。

 

4,創建單列索引

 


5,創建多列索引

CREATE TABLE t_user3(id INT ,
     userName VARCHAR(20),
     PASSWORD VARCHAR(20),
     INDEX index_userName_password(userName,PASSWORD)
);


6,創建空間索引




5.2 在已經存在的表上創建索引

CREATE [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名 ON 表名 (屬性名 [(長度)] [ ASC | DESC]);

CREATE TABLE t_user4(id INT ,
     userName VARCHAR(20),
     PASSWORD VARCHAR(20)
);

CREATE     INDEX index_userName ON t_user4(userName);

CREATE     UNIQUE INDEX index_userName ON t_user4(userName);

CREATE  INDEX index_userName_password ON t_user4(userName,PASSWORD);


5.3 用 ALTER TABLE 語句來創建索引

ALTER TABLE 表名 ADD [ UNIQUE | FULLTEXT | SPATIAL ] INDEX 索引名 (屬性名 [(長度)] [ ASC | DESC]);

ALTER TABLE t_user5 ADD INDEX index_userName(userName);

ALTER TABLE t_user5 ADD UNIQUE INDEX index_userName(userName);

ALTER TABLE t_user5 ADD INDEX index_userName_password(userName,PASSWORD);



第六節:刪除索引

DROP INDEX 索引名 ON 表名 ;

DROP INDEX index_userName ON t_user5;

DROP INDEX index_userName_password ON t_user5;

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved