mysql索引有哪些了解_Mysql索引(简单了解)
Mysql的存儲引擎,可以針對不同的表使用不同的存儲引擎
MyISAM:插入,查血速度快,但是不支持事物,所以適用于數據倉庫,Web等
InnoDB:支持事物,所以適合于事物型數據庫
Memory:是將數據存到內存中
Archive:事物不安全,所以可以用來保存日志什么的
每個引擎細致的還有許多特點,有空可以看看
----------------------------------------------------------------------------------
索引
Mysql存儲引擎有兩種 B樹和Hash
索引的優點:可以針對指定的一個列或者多個列建立索引,加快查詢速度
可以減少分組或者排序子句的執行時間
索引的缺點:多占內存
對表進行修改增加刪除的時候,相應的索引也需要更改
索引的分類:單列索引和組合索引
單列索引指的就是一個索引只有一個列,但是一個表可以有多個單列索引
組合索引指的就是在表的多個字段上創建的索引
全文索引:支持值的全部查找,允許重復和null
創建索引:在建立表的時候創建
簡單的對某個列創建索引
查看索引是否創建成功
select_type指的是select的類型 比如簡單查詢,子查詢,聯合查詢
table 查詢的表名
partitions 當表需要分區的時候
type 表之間的關系
possible_keys 可選用的索引
key 使用的實際索引
key_len 索引的長度(字節)
ref 關聯關系中另一個表的列名
rows 預計讀出的數據行的個數
Extra 關聯操作的信息
創建唯一索引
默認唯一索引的name就是id(默認使用列名)
創建單列索引
創建組合索引
創建全文索引:關鍵字 FULLTEXT,只能對varchar char Text類型使用
如果表已經存在
1.使用ALTER TABLE創建索引
語法
ALTER TABLE table_name ADD [UNIQUE|FUUTEXT|SPATIAL]
[INDEX|KEY] [index_name] (col_name[length],...) [ASC|DESC]
ALTER TABLE tabletest ADD UNIQUE INDEX (id);
給tabletest對id列添加唯一索引,名字是id,如果要指定名字后邊改成這個 UniqueId(id),意思是添加唯一索引,名字是UniqueId
2.使用CREATE INDEX創建索引
語法
CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name ON table_name(col_name[length],...)[ASC|DESC]
CREATE UNIQUE INDEX UniqueId ON tabletest(id)
在tabletest上對id列創建唯一索引,名字是UniqueId
刪除索引
1.ALTER TABLEF
語法
ALTER TABLE table_name DROP INDEX index_name
2.DROP INDEX
語法
DROP INDEX index_name on table_name----------------------內容很不完善,后續有空會慢慢補充--------------------------------------
總結
以上是生活随笔為你收集整理的mysql索引有哪些了解_Mysql索引(简单了解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql char varchar 性
- 下一篇: sybase 连接mysql_如何连接到