您的位置:首页 > 数据库 > MySQL

mysql中innodb、mysaim存储引擎的区别及explain的使用

2017-08-29 17:30 981 查看
mysql中主要的存储引擎是innodb、mysiam。下面介绍一下它们的区别:
innodb、mysiam
innodb:注重事物、行级锁、R/W比较少,频繁更新大字段
mysiam : 注重性能、表级锁、R/W > 100 :1且update相对较少。

总结 :innodb整体性能远高于myisam。同时,innodb的索引不仅需要缓存索引本身,也缓存数据,所以innodb需要更大的内存。如果你不知道一个表需要使用什么存储引擎,建议使用innodb。

explain使用:
explain在mysql中主要是测试sql语句的性能及对sql语句的优化。
下面举个栗子!





各个参数的意义:

id : 查询的序列号

select_type :  查询的类型 ,主要包括普通查询、联合查询、子查询。

table : 所访问数据库的表的名称

type :   联合查询使用的类型

possible_keys : 指出mysql能使用哪个索引在该表中找到该行,如果这个值为空,则表示没有相关的索引。

key : 显示mysql实际决定使用的建,如果没有索引被选择,键是null。

key_len : 显示mysql决定使用键的长度,如果key是空,则长度就是null。

ref : 显示哪个字段或常数与key一起使用。如果使用了索引则显示const,否则,显示null

type显示的访问类型是重要指标,结果从好到坏:system (系统表)、const (读常量) 、eq_ref (最多一条匹配结果,通常是通过主键访问)、ref 、fulltext(全文索引检索)、ref_or_null、index_merge(合并索引结果集)、unique_subquery、index_subquery(子查询返回的是索引,但非主键)、range(索引范围扫描)、index(全索引扫描)、all(全表扫描)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: