国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL索引操作命令小結

2020-01-18 23:03:14
字體:
來源:轉載
供稿:網友

創建索引

創建索引的語法是:

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name  [USING index_type]  ON tbl_name (index_col_name,...) index_col_name:  col_name [(length)] [ASC | DESC]

對于CHAR和VARCHAR列,只用一列的一部分就可創建索引。創建索引時,使用col_name(length)語法,對前綴編制索引。前綴包括每列值的前length個字符。BLOB和TEXT列也可以編制索引,但是必須給出前綴長度。

此處展示的語句用于創建一個索引,索引使用列名稱的前10個字符。

CREATE INDEX part_of_name ON customer (name(10));

因為多數名稱的前10個字符通常不同,所以此索引不會比使用列的全名創建的索引速度慢很多。另外,使用列的一部分創建索引可以使索引文件大大減小,從而節省了大量的磁盤空間,有可能提高INSERT操作的速度。

前綴最長為255字節。對于MyISAM和InnoDB表,前綴最長為1000字節。注意前綴的限長以字節計,而CREATE INDEX語句中的前綴長度指的是字符的數目。對于使用多字節字符集的列,在指定列的前綴長度時,要考慮這一點。

在MySQL中:

?只有當您正在使用MyISAM, InnoDB或BDB表類型時,您可以向有NULL值的列中添加索引。

?只有當您正在使用MyISAM, BDB或InnoDB表類型時,您可以向BLOB或TEXT列中添加索引。

一個index_col_name規約可以以ASC或DESC為結尾。這些關鍵詞將來可以擴展,用于指定遞增或遞減索引值存儲。目前,這些關鍵詞被分析,但是被忽略;索引值均以遞增順序存儲。

部分儲存引擎允許在創建索引時指定索引類型。index_type指定語句的語法是USING type_name。不同的儲存引擎所支持的type_name值已顯示在下表中。如果列有多個索引類型,當沒有指定index_type時,第一個類型是默認值。

存儲引擎

允許的索引類型

MyISAM

BTREE

InnoDB

BTREE

MEMORY/HEAP

HASH, BTREE

示例:

CREATE TABLE lookup (id INT) ENGINE = MEMORY;CREATE INDEX id_index USING BTREE ON lookup (id);

TYPE type_name可以作為USING type_name的同義詞,用于指定索引類型。但是,USING是首選的格式。另外,在索引規約語法中,位于索引類型前面的索引名稱不能使用TYPE。這是因為,與USING不同,TYPE不是保留詞,因此會被認為是一個索引名稱。

如果您指定的索引類型在給定的儲存引擎中不合法,但是有其它的索引類型適合引擎使用,并且不會影響查詢功能,則引擎應使用此類型。

FULLTEXT索引只能對CHAR, VARCHAR和TEXT列編制索引,并且只能在MyISAM表中編制。

SPATIAL索引只能對空間列編制索引,并且只能在MyISAM表中編制。

使用alter的方法創建索引

alter table table_name add index index_name (column_list) ;alter table table_name add unique (column_list) ;alter table table_name add primary key (column_list) ;

查詢索引

SHOW INDEX FROM table_name;

刪除索引

drop index index_name on table_name ;alter table table_name drop index index_name ;alter table table_name drop primary key ;

其中,在前面的兩條語句中,都刪除了table_name中的索引index_name。而在最后一條語句中,只在刪除PRIMARY KEY索引中使用,因為一個表只可能有一個PRIMARY KEY索引,因此不需要指定索引名。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣威市| 永安市| 潮州市| 全州县| 汝州市| 察哈| 凤山县| 思南县| 仪征市| 右玉县| 黎平县| 巫溪县| 凭祥市| 池州市| 秀山| 托里县| 宜良县| 普定县| 西藏| 彭山县| 虹口区| 正镶白旗| 和硕县| 咸丰县| 左贡县| 上虞市| 涡阳县| 宜城市| 淳化县| 武山县| 杭锦后旗| 库尔勒市| 云和县| 三原县| 定州市| 丽江市| 富顺县| 青川县| 桃江县| 榕江县| 新干县|