索引是為了提高資料庫查詢效率而生的。對於一些查詢多,修改少的字段很適合用索引,以提高查詢效率。如果是修改多的話,用索引會降低其效率,因為維護這個索引表很耗時。索引分為,主鍵索引(primary key)、唯一索引(unique index)、普通索引(index)、組合索引、全文索引。
下面先演示一下用索引和不用索引的區別。
主鍵索引,也就是我們常用的主鍵,主鍵只能有乙個,但乙個主鍵裡可以有多個字段。
建立表的時候建立主鍵索引
create table test(
id int(11),
name varchar(25),
primary key (id)
);
唯一索引,索引欄位中的值必須是唯一的,但是允許為空值。
create table test(
id int(11),
name varchar(25),
unique index_unique_test_name (name)
);
普通索引是最基本的索引,僅用來加速查詢。
create table test(
id int(11),
name varchar(25),
index index_test_name (name)
);
指多個欄位上建立的索引,只有在查詢條件中使用了建立索引時的第乙個字段,索引才會被使用。使用組合索引時遵循最左字首集合。
create table test(
id int(11),
name varchar(25),
index index_test_id_name (id,name)
);
全文索引,是在char,varchar,text型別欄位上使用全文索引。就是在一堆文字中,通過其中的某個關鍵字等,就能找到該欄位所屬的記錄行,比如有"歡迎閱讀此文章"通過此文章,可能就可以找到該條記錄。
create table test(
id int(11),
name varchar(25),
content text,
fulltext (text)
);
MySQL用萬用字元進行過濾
萬用字元 用來匹配值的一部分的特殊字元 搜尋模式 由字面值 萬用字元或者兩者組合成的搜尋條件 在搜尋字句中使用萬用字元,必須使用like操作符,like操作符指示mysql後跟的搜尋模式是萬用字元匹配而不是直接相等匹配。百分號 萬用字元 表示任何字串出現任意次數 1萬用字元位於搜尋模式最後 sele...
mysql千萬級資料查詢
1.mysql的資料查詢,大小欄位要分開,這個還是有必要的,除非一點就是你查詢的都是索引內容而不是表內容,比如只查詢id等等 2.查詢速度和索引有很大關係也就是索引的大小直接影響你的查詢效果,但是查詢條件一定要建立索引,這點上注意的是索引字段不能太多,太多索引檔案就會很大那樣搜尋只能變慢 3.查詢指...
mysql億級資料遷移
背景 mysql5.6 分庫分表 跨資料庫例項,要求線上遷移 切換功能 檢視各資料庫占用磁碟空間大小 select table schema,concat truncate sum data length 1024 1024,2 mb as data size,concat truncate sum...