索引的作用
可以大大提高mysql的檢索速度 索引的組成
單列索引和組合索引
單列索引 :乙個索引包含單個列,乙個表可以有多個單列索引 組合索引 :乙個索引包含多個列 手動索引和自動索引
自動索引 : 完整性約束條件 手動索引 : 手動在表上建立 索引不足
占用記憶體 降低表的更新速度。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案。
可以根據以下語句,可判斷索引的是否已建立或索引是否引用。
- 建立或者增加索引,可以檢測是否建立成功
- where, group by, from等語句中,是否使用索引
-- 檢視表的建立語句是否包含索引
show create table t_name \g;
-- 檢視索引是否使用
explain
select * from t_dept where deptno = 2 \g;-- 建表時,建立索引
-- unique 可選,表示建立唯一索引
-- index或者key,指定欄位為索引
create table t_name(
屬性名 資料型別,
屬性名 資料型別,
[unique] index|key [索引名] (屬性名 [(length)] [asc|desc] )
); -- 表存在,建立索引,建立唯一索引
create [unique] index 索引名 on 表名 (屬性名 [(length)] [asc|desc]);
alter table t_name add [unique] index|key 索引名 (屬性名 [(length)] [asc|desc]);-- 建表時,建立多列索引
create table t_name(
屬性名 資料型別,
屬性名 資料型別,
[unique] index|key [索引名]
( 屬性名1 [(length)] [asc|desc],
屬性名2 [(length)] [asc|desc]
)); -- 表存在,建立多列索引
create index 索引名 on 表名
( 屬性名1 [(length)] [asc|desc],
屬性名2 [(length)] [asc|desc]
); alter table t_name add index|key 索引名
( 屬性名1 [(length)] [asc|desc],
屬性名2 [(length)] [asc|desc]
);drop index 索引名 on t_name;限制
char, varchar, text欄位上 只能在 myisam 引擎上建立使用,建立表預設 innodb 全文搜尋方式
二進位制 : 區分大小寫 預設 : 不區分大小寫
-- 建立表時, 建立全文索引
create table t_name(
屬性名 資料型別,
屬性名 資料型別,
fulltext index|key [索引名] (屬性名 [(length)] [asc|desc] )
); -- 表存在時,建立全文索引
create fulltext index 索引名 on 表名 (屬性名 [(length)] [asc|desc]);
alter table t_name add fulltext index|key 索引名 (屬性名 [(length)] [asc|desc]);
MySQL操作命令語句例項
e良師益友網 1 啟動mysql伺服器 如何啟動mysql。有兩種方法 一是用winmysqladmin,如果機器啟動時已自動執行,則可直接進入下一步操作。二是在dos方式下執行 d mysqlbinmysqld 2 進入mysql互動操作介面 在dos方式下,執行 d mysqlbinmysql ...
mysql的操作語句 MySQL操作語句
資料定義語句ddl mysql注釋 建立表 create table user id int primary key auto increment,username varchar 50 userid varchar 50 gender varchar 5 default 男 birthday va...
MYSQL索引例項
mysql描述 乙個文章庫,裡面有兩個表 category和article。category裡面有10條分類資料。article 裡面有20萬條。article裡面有乙個 article category 欄位是與category裡的 category id 字段相對應的。article表裡面已經把...