我的mysql数据库出现这种怪问题和硬件有关系吗?

发布于 2022-10-03 02:51:39 字数 1018 浏览 15 评论 0

我有一个通用的点击统计数的表ClickCount(myisamchk)。结构如下:

CountID   mediumint(icon_cool.gif
ItemName   char(50)
IdName   char(50)
IdValue   char(50)
ClickCount   mediumint(9)

一、重新启动mysql(service mysql restart)

二、我在phpmyadmin里执行
UPDATE ClickCount SET ClickCount=ClickCount+1 WHERE ItemName='News' AND IdValue='1847';
影响列数: 1 (查询花费 0.0006 秒)
很快吧!

三,可是,我执行第二遍的时候问题出现了,竟然用了近30秒
(查询花费 29.3607 秒)

我重新启动mysql之后,第一遍执行总是很快,但之后就完全不行了。
repair tablename; myisamchk -r tablename.MYI; optimize tablename等等命令全用过了。还是不行。

我的服务器是双志强2.4 2G内存,my.cnf文件如下:
key_buffer = 256M
max_allowed_packet = 2M
table_cache = 256
sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 32M
thread_cache = 16
query_cache_size = 32M

ClickCount表很小,不到1万条记录。
只有这个表的update操作有这种问题,别的表都没有。
请问这是怎么回事呀?会是硬件的问题吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡笑忘祈一世凡恋 2022-10-10 02:51:39

用EXPLAIN SELECT ClickCount FROM ClickCount WHERE ItemName='News' AND IdValue='1847';看看

云柯 2022-10-10 02:51:39

哈哈,我找到问题啦。
程序员写的一个页面写的效率不高,而且是多表联合查询的,导致那个表被封锁了。
我把那页面重新写了,调整了一下数据表结构就好了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文