說白了就是有索引之前查詢資料是遍歷,新增索引後就變成了定位。
特點:
作用:避免同乙個表中某資料列中的值重複
與主鍵索引的區別
使用語法:
create
table
'表名'
('欄位名'
int(11)
auto_increment primarykey,
'欄位名'
varchar(32
)not
null
unique
-- 或 unique key `欄位名` (`欄位名`)
)
作用: 快速定位特定資料
注意:
使用語法:
-- 建立表時新增
create
table 表名(
--建立語句
index
|key 索引名(欄位名,欄位名,..
.);)
-- 建立表後新增
alter
table 表名 add
index 索引名(欄位名,..
.);
作用: 快速定位特定資料
注意:
測試或使用全文索引時,要先看一下自己的 mysql 版本、儲存引擎和資料型別是否支援全文索引。
使用語法(全部索引):
#方法一:建立表時
create
table 表名 (
欄位名1 資料型別 [完整性約束條件…]
, 欄位名2 資料型別 [完整性約束條件…],[
unique
| fulltext | spatial ]
index
|key
[索引名]
(欄位名[
(長度)][
asc|
desc])
);#方法二:create在已存在的表上建立索引
create
[unique
| fulltext | spatial ]
index 索引名
on 表名 (欄位名[
(長度)][
asc|
desc])
;#方法三:alter table在已存在的表上建立索引
alter
table 表名 add
[unique
| fulltext | spatial ]
index
索引名 (欄位名[
(長度)][
asc|
desc])
;#刪除索引:
drop
index 索引名 on 表名字;
#刪除主鍵索引:
alter
table 表名 drop
primary
key;
#顯示索引資訊:
show
index
from student;
/*增加全文索引*/
alter
table
`school`
.`student`
add fulltext index
`studentname`
(`studentname`);
/*explain : 分析sql語句執行效能*/
explain
select
*from student where studentno=
'1000'
;/*使用全文索引*/
-- 全文搜尋通過 match() 函式完成。
-- 搜尋字串作為 against() 的引數被給定。搜尋以忽略字母大小寫的方式執行。對於表中的每個記錄行,match() 返回乙個相關性值。即,在搜尋字串與記錄行在 match() 列表中指定的列的文字之間的相似性尺度。
explain
select
*from student where
match
(studentname) against(
'love'
);
資料庫mysql索引 資料庫 mysql索引
mysql 索引 mysql索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。打個比方,如果合理的設計且使用索引的mysql是一輛蘭博基尼的話,那麼沒有設計和使用索引的mysql就是乙個人力三輪車。索引分單列索引和組合索引。單列索引,即乙個索引只包含單個列,乙個表可...
mysql更新索引庫 Mysql資料庫索引增刪改查
一.索引的作用 一般的應用系統,讀寫比例在10 1左右,而且插入操作和一般的更新操作很少出現效能問題,遇到最多的,也是最容易出問題的,還是一些複雜的查詢操作,所以查詢語句的優化顯然是重中之重。在資料量和訪問量不大的情況下,mysql訪問是非常快的,是否加索引對訪問影響不大。但是當資料量和訪問量劇增的...
MySQL資料庫索引
mysql資料庫索引 目錄 1 myisam與innodb的區別 2 索引的優缺點 3 如何選用索引 4 檢視索引 5 雜湊索引 6 b 樹 7 索引分類 1 myisam與innodb的區別 1 show engines 圖1.1 截圖1 a mysql資料表主要支援如圖所示的儲存引擎,分為 事務...