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

MySQL从MyISAM引擎转换到InnoDB引擎需要注意的地方

2017-10-23 11:25 387 查看

MySQL从MyISAM引擎转换到InnoDB引擎需要注意的地方

来源:易贤网   阅读:1852 次  日期:2015-01-09 11:48:13
科凌
A5无线蓝牙音箱手机迷你电脑音响插卡便携式车载低音小钢炮
女包2017夏季新款日韩版时尚简约流苏小方包手提包单肩斜挎小包包昂达移动电源10000毫安超薄充电宝可爱便携聚合物智能手机6s通用
莎小姐银手链女四叶草s925银饰品日韩简约时尚学生送女友生日礼物龙翔雨伞男士折叠伞英伦风包边商务伞
创意双层防风伞超大三人伞
格子桌布田园方桌圆桌布艺酒店饭店西餐厅韩式茶几长方形餐桌台布
送腰带2017夏季新款韩国高腰显瘦水洗磨白破洞毛边牛仔短裤热裤女蓝漂竹浆本色抽纸3层家用抽取式面巾纸餐巾纸不漂白本色抽纸*24包灭蚊灯光触媒家用无辐射静音电子灭蝇驱蚊器吸捕蚊杀虫灯灭蚊神器
四季通用阻燃脚垫纯色绒面防水防滑汽车脚垫通用脚垫适合所有车型vintage复古红色仙鹤印花中长款荷叶边雪纺吊带一字领露肩连衣裙欧兰彩睡衣睡裙女夏天吊带灰色可爱韩版棉质背心短裙子家居服夏季
温馨提示:易贤网小编为您整理了“MySQL从MyISAM引擎转换到InnoDB引擎需要注意的地方”,方便广大网友查阅!

2017年云南省八大高校成教专升本、高起本正在火热招生报名中!属国民教育,国家承认学历,点击查询详情

分析 当了解完两种引擎的不同之处,很轻松的就能知道有哪些关键点了。

总的来说,从MyISAM转向InnoDB的注意事项有:

1、MyISAM的主键索引中,可以在非第一列(非第一个字段)使用自增列,而InnoDB的主键索引中包含自增列时,必须在最前面;这个特性在discuz论坛中,被设计用于“抢楼”功能,因此,若有类似的业务,则无法将该表从MyISAM转成InnoDB,需要自行变通实现(我们则是将其改到Redis中实现);

2、不带条件频繁统计全表总记录数时(SELECT COUNT(*) FROM TAB),InnoDB相对较慢,而MyISAM则飞快;不过,如果是基于索引条件的统计,则二者相差不大;

3、InnoDB在5.6以前不支持全文索引,不过这个相信无所谓,没什么人会在MySQL里直接跑全文索引,尤其是对中文的全文索引(前阵子有开发同学提需求直接被我否了),确实有需要的话,可以采用Sphinx、Lucene等其他方案实现;

4、一次性导入大量数据并且后续还要进行加工处理的,可以先导入到MyISAM引擎表中,经过一通加工处理完后,再导入InnoDB表(我曾经在业务中用此方法提高数据批量导入及处理效率);

5、InnoDB不支持LOAD TABLE FROM MASTER语法(不过应该也很少人使用吧);

从MyISAM转成InnoDB可以享受的好处则有:

1、完整事务特性支持,以及更高的数据并发存取效率,即更高的TPS;

2、数据库实例异常重启后,InnoDB表能自动修复,而且速度相对更快,而MyISAM需要被触发才能修复,且相对耗时可能多4~5倍甚至更多;

3、更高的数据读取性能,因为InnoDB把数据及索引同时缓存在内存中,而MyISAM只缓存了索引;

4、InnoDB支持外键(不过在MySQL中,应该很少人用到外键);

两个引擎间的重要区别详情见下:

MyISAM引擎的特点:

1、堆组织表;

2、不支持事务;

"tn-Powered-by-XIUMI">3、数据文件和索引文件分开存储;

"tn-Powered-by-XIUMI">4、支持全文索引;

"tn-Powered-by-XIUMI">5、主键索引和二级索引完全一样都是B+树的数据结构,只有是否唯一的区别(主键和唯一索引有唯一属性,其他普通索引没有唯一属性。B+树叶子节点存储的都是指向行记录的row pointer);

6、有特殊计数器记录当前记录数;

7、不支持Crash recovery;

8、索引文件很容易损坏;

InnoDB引擎的特点

1、索引组织表;

2、支持事务;

"tn-Powered-by-XIUMI">3、数据文件和索引文件存储在同一个表空间中;

"tn-Powered-by-XIUMI">4、在5.6以前,不支持全文索引;

"tn-Powered-by-XIUMI">5、主键和二级索引数据结构一样都是B+树,但叶子节点存储的键值不一样(主键的叶子节点存储整行数据,因此也称为聚集索引;而二级索引的叶子节点存储的是主键的键值)

5、支持Crash recovery;

6、相同数据量时,InnoDB表空间文件大小约为MyISAM引擎的1.5~2倍;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: