我一直在阅读有关Mysql,Myysql性能博客和一些书籍的一些资料.
据说,如果你有一个基于读取的应用程序,你应该使用Myisam,因为它比Innodb更好.对于Myisam,非连接查询也更快.
为什么如此支持表锁(仅适用于我认为的写操作),其中Innodb具有行级锁,因此它应该为读写提供更好的性能.
我只是想知道这一点,为什么所有的阅读材料都表明如果你的应用程序读数超过95%,Myisam读取速度更快,而不提供相同的解释.
我希望有知识渊博的人能够在没有投票和结束问题的情况下回答
表级锁的检查速度更快,但是当它们存在时,它们会阻止对表的所有其他访问.如果你主要是阅读,那么你想要最快的"我没有锁定"检查你可以得到.
行级锁定允许其他操作同时在桌面上发生,但是它们在实现和检查的空间/时间上更加昂贵.
因此,如果您在桌面上执行95%以上的读取(对于大多数Web应用程序而言是典型的),那么MyISAM将获胜.某些表(例如会话表或用户跟踪表)具有与读取一样多的写入,并且为每次更新锁定整个表可能会使活动站点变慢.
尝试通过使用各种表的索引卡创建"数据库"来测试这一点,并模拟当一个访问者一次通过该站点时会发生什么.然后尝试与5,10或50位访问者同时访问代码.很快就会发现会话表上的表级锁是show stop.
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |