索引
mysql 索引(index)
注意:1、不要過度索引
2、索引條件列(where後面最頻繁的條件列)
3、盡量索引雜湊值,過於集中的值不要索引。
索引型別
1、普通索引(index):僅僅是加快查詢速度
2、唯一索引(unique index):行上的值不能重複
3、主鍵索引(primary key):主鍵不能索引
主鍵索引必定是唯一的,唯一索引不一定是主鍵,
一張表上只能乙個主鍵,可以有乙個或者多個唯一索引。
4、全文索引(fulltext index):在mysql 預設情況下對於中文作用不大。
檢視 一張表上的索引
show index from 表名(/g可以橫著顯示)
索引不知道名稱預設以索引的列名作索引
建立索引
alter table 表名add index/unique/fulltext [索引名](列名)
[索引名]可以不寫 ,不寫預設與列名相同。
alter table 表名add primary key (列名)
建立索引示例:
為 tel列 建立普通索引
為email列 新增唯一索引
為intro列新增全文索引
為id列新增主鍵
刪除索引
alter table drop index 索引名
示例:刪除email(唯一)索引
刪除主鍵索引
全文索引使用
檢視匹配度
select 列名, match (索引) against (『 索引詞』) from表名;
新發現 as 支援 漢字
全文停止字:
全文索引,不針對非常頻繁的詞,做索引。
針對漢語意義不大,因為因為英文單詞可以依賴空格等標點來判斷單詞界限,進而對單詞進行索引,而中文mysql無法識別單詞界限。
以下表列出了預設的全文停止字 :
a'sable
about
above
according
accordingly
across
actually ...
注意!!換伺服器匯入資料:
大資料量時,先把索引去掉,匯入後,統一加上索引。
索引加快查詢速度,降低增刪改的速度。
額外:show create table 表名
可以檢視 建立表的語句
發現問題
使用全文索引時加上引擎 ,預設 innodb引擎,不支援,會報錯
詳細:
MySQL的索引(Index)詳解
索引分類 1 普通索引 key indexes 2 唯一索引 unique indexes 3 主鍵索引 primary key indexes 4 組合索引 composite index 5 字首索引 prefix indexes 6 全文索引 full text indexes 7 雜湊索引 ...
關於MySQL索引index雜談
mysql建索引命令 create index index name on tablename clomun name.比如建了 create index o n p d on t db netspeed o,n,p,d 建好索引之後,使用select 命令進行查詢 select count fro...
mysql整理12 索引index整理
為了提高查詢排序的速度 索引需要單獨檔案來儲存維護。表資料發生變化需要維護索引表。適合新增索引的情況 表資料量足夠大 增刪改操作較少 高基數列1.可以大大加快資料的檢索速度,這也是建立索引的最主要的原因。2.通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性。3.可以加速表和表之間的連線。4....