12
返回列表 发新帖
楼主: liyihongcug

MyIsam 引擎是否一定要转化为INNOdb

[复制链接]
论坛徽章:
41
ITPUB元老
日期:2007-04-18 10:10:372012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23迷宫蛋
日期:2012-05-09 13:09:18双黄蛋
日期:2013-01-21 12:55:59马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
11#
发表于 2009-6-11 09:42 | 只看该作者
原帖由 liyihongcug 于 2009-6-10 15:43 发表
myIsam存储引擎的读锁和写锁是互相排斥的,读写是串行。mysql认为写请求优于读请求。所以 他不太
用于有大量更新操作和查询操作应用。因为,大量的更新操作会造成查询操作很难获得读锁,
从而可能永远柱塞。  单可以通过一些设置来调节他的行为



Myisam读写可以做到不会相互阻塞。

innodb要去写一大堆的redo,undo来保证事务完整性,所有可能效率会低一点。

innodb的数据存储时根据pk主键来有序存储的,类似于oracle中IOT,这在根据pk进行查询时效率会很高,因为pk索引和数据是存储在一块的。

我在现实中大量应用Myisam,也大量应用innodb

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2009-6-12 13:54 | 只看该作者
简单来说,有速度要求就用myisam,有同步应用即事务则用innodb

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2009-6-12 14:12 | 只看该作者
在慢查询日志里,如果是因为等待锁的原因,那也有记录的。
一般来说,你这表不是很多并发修改增加的操作,或者不要求严格的事务关系,还是用myisam好,在官方描述里,myisam引擎也能满足普通的有增加修改操作的表的。 myisam是不会引起死锁的,如果你有要求需要查询操作优先于update,可以在语句里显式写明的。而且我记得参数也可以指定的。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表