2014-02-18 28 views
1

我们已经有点过早地推出了我们的网站,并且遇到了一些令人讨厌的性能问题。我是贸易的MS SQL Server专业人士,但一直负责调整这个MySQL数据库。据我所知,MyISAM数据库没有行级锁定,如果你正在编辑数据,它会锁定整个表。有人可以确认或否认我的假设......CS-Cart 4现场表现麻烦。数据库缓存可能是罪魁祸首?

我们花了很多钱在Google Adwords上,并能够产生一些“无用”的流量到网站......但与此同时,我们有内部人员全天使用新产品加载网站。在晚上没有人输入任何东西时,我已经看到该网站大约需要2-3秒钟,但是当有人在输入时,加载时间会下降到8-9 ...有时需要10+秒才能加载。

此外,最近将我们的cs-cart缓存从“文件”切换到“mysql”..这张表大概也是MyISAM ....这会影响性能,因为你会写入这张桌子经常。

回答

0
As I understand MyISAM databases do not have row level locking and will lock up the entire table if you're editing data. Can someone please confirm or deny my assumptions.... 

你是对的。 MyISAM只有表级锁。 InnoDB支持行级锁。

事实上,如果有许多并发用户访问MyISAM表,那么锁定等待时间可能很重要。但是要证明/反驳您需要收集慢日志中的所有查询(将long_query_time设置为0)并使用pt-query-digest查看日志。然后你会看到MySQL大部分时间花在哪里。因此解决方案可能更容易找到。

相关问题