亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

MySQL索引操作命令的小結(jié)

時(shí)間:2022-11-18 20:39:39 小結(jié) 我要投稿
  • 相關(guān)推薦

關(guān)于MySQL索引操作命令的小結(jié)

  創(chuàng)建索引

  創(chuàng)建索引的語法是:

  復(fù)制代碼 代碼如下:

  CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name

  [USING index_type]

  ON tbl_name (index_col_name,...)

  index_col_name:

  col_name [(length)] [ASC | DESC]

  對(duì)于CHAR和VARCHAR列,只用一列的一部分就可創(chuàng)建索引。創(chuàng)建索引時(shí),使用col_name(length)語法,對(duì)前綴編制索引。前綴包括每列值的前l(fā)ength個(gè)字符。BLOB和TEXT列也可以編制索引,但是必須給出前綴長(zhǎng)度。

  此處展示的語句用于創(chuàng)建一個(gè)索引,索引使用列名稱的前10個(gè)字符。

  復(fù)制代碼 代碼如下:

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

  因?yàn)槎鄶?shù)名稱的前10個(gè)字符通常不同,所以此索引不會(huì)比使用列的全名創(chuàng)建的索引速度慢很多。另外,使用列的一部分創(chuàng)建索引可以使索引文件大大減小,從而節(jié)省了大量的磁盤空間,有可能提高INSERT操作的速度。

  前綴最長(zhǎng)為255字節(jié)。對(duì)于MyISAM和InnoDB表,前綴最長(zhǎng)為1000字節(jié)。注意前綴的限長(zhǎng)以字節(jié)計(jì),而CREATE INDEX語句中的前綴長(zhǎng)度指的是字符的數(shù)目。對(duì)于使用多字節(jié)字符集的列,在指定列的前綴長(zhǎng)度時(shí),要考慮這一點(diǎn)。

  在MySQL中:

  ·只有當(dāng)您正在使用MyISAM, InnoDB或BDB表類型時(shí),您可以向有NULL值的列中添加索引。

  ·只有當(dāng)您正在使用MyISAM, BDB或InnoDB表類型時(shí),您可以向BLOB或TEXT列中添加索引。

  一個(gè)index_col_name規(guī)約可以以ASC或DESC為結(jié)尾。這些關(guān)鍵詞將來可以擴(kuò)展,用于指定遞增或遞減索引值存儲(chǔ)。目前,這些關(guān)鍵詞被分析,但是被忽略;索引值均以遞增順序存儲(chǔ)。

  部分儲(chǔ)存引擎允許在創(chuàng)建索引時(shí)指定索引類型。index_type指定語句的語法是USING type_name。不同的儲(chǔ)存引擎所支持的type_name值已顯示在下表中。如果列有多個(gè)索引類型,當(dāng)沒有指定index_type時(shí),第一個(gè)類型是默認(rèn)值。

  存儲(chǔ)引擎

  允許的索引類型

  MyISAM

  BTREE

  InnoDB

  BTREE

  MEMORY/HEAP

  HASH,BTREE

  示例:

  復(fù)制代碼 代碼如下:

  CREATE TABLE lookup (id INT) ENGINE = MEMORY;

  CREATE INDEX id_index USING BTREE ON lookup (id);

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

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

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

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

  使用alter的方法創(chuàng)建索引

  復(fù)制代碼 代碼如下:

  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) ;

  查詢索引

  復(fù)制代碼 代碼如下:

  SHOW INDEX FROM table_name;

  刪除索引

  復(fù)制代碼 代碼如下:

  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索引中使用,因?yàn)橐粋(gè)表只可能有一個(gè)PRIMARY KEY索引,因此不需要指定索引名。

【MySQL索引操作命令的小結(jié)】相關(guān)文章:

MySQL常用操作命令04-01

MySQL導(dǎo)出導(dǎo)入SQL文件命令方法06-29

dcs操作實(shí)習(xí)小結(jié)11-23

機(jī)床操作實(shí)習(xí)小結(jié)08-03

銀行柜面操作的小結(jié)01-21

銀行柜面操作的小結(jié)01-21

Windows操作系統(tǒng)常用網(wǎng)絡(luò)檢測(cè)命令有哪些11-01

車間操作工實(shí)習(xí)小結(jié)08-03

控制表單操作的常用代碼小結(jié)11-27

linux系統(tǒng)命令11-23