1. 程式人生 > >MySQL 隨筆記錄

MySQL 隨筆記錄

use 提高 一定的 數據庫設計 固定 arc tro nor 保留

常用的mysql索引方法有 B-Tree 和Hash索引

主鍵索引 PRIMARY 唯一的 不能為空 一個表只能有一個 主鍵索引通常在建表的時候就指定 id
建表時指定

CREATE 表名(ID INT NOT NULL,USERNAME VARCHAR(16) NOT NULL,PRIMARY KEY(ID))
PRIMARY KEY(ID)

普通索引 NORMAL 不受限制
建表時指定
CREATE 表名(ID INT NOT NULL,USERNAME VARCHAR(16) NOT NULL,INDEX USERNAME_INDEX(USERNAME(16))) //給列USERNAME建普通索引USERNAME_INDEX

ALTER語句指定

ALTER 表名 ADD INDEX U_INDEX (USERNAME) //給列USERNAME建普通索引 U_INDEX

刪除索引

DROP INDEX U_INDEX ON 表名 //刪除表t_user中的索引U_INDEX

唯一索引 UNIQUE 唯一可允許為空
建表時指定

CREATE 表名r(ID INT NOT NULL,USERNAME VARCHAR(16) NOT NULL,UNIQUE U_INDEX(USERNAME)) //給列USERNAME添加唯一索引T_USER

ALTER語句指定

ALTER 表名 ADD UNIQUE u_index(USERNAME) //給列T_USER添加唯一索引u_index

刪除索引

DROP INDEX U_INDEX ON 表名

全文索引 FULLTEXT 長篇文章可用 如果短篇文章 可用INDEX

char和varchar再數據庫設計的時候要明白:
char 是固定長度0-255 如果存數據的時候有空格 則會把空格存入數據表中,取數據的時候空格丟棄

varchar 是可變長度 0-65535 如果存數據的時候有空格 則會不會把空格存入數據表中,取數據的時候如果數據有空格則會保留空格


索引不足之處:

索引提高了查詢的速度,但是降低了INSERT、UPDATE、DELETE的速度,因為在插入、修改、刪除數據時,還要同時操作一下索引文件;
占用一定的磁盤空間
一般情況下不是鼓勵使用like,如果非使用,那麽需要註意 like"%aaa%"不會使用索引;但like“aaa%”會使用索引。

MySQL 隨筆記錄