【发布时间】:2013-12-11 16:54:50
【问题描述】:
我有一个 mysql 表,有 12 列,一个主键和两个唯一键。我在这个表中有或多或少的 86000 行/记录。 我使用这个mysql代码:
INSERT INTO table (col2,col3,-------col12) VALUES ($val2,$val3,----------$val12) ON DUPLICATE KEY UPDATE col2=VALUES($val2), col3=VALUES($val3),----------------col12=VALUES($val12)
当我从 cpanel phpmyadmin 查看该表的结构时,我可以在该表的索引信息下方看到“优化表”链接。如果我单击该链接,则表已优化。
但我的问题是为什么我在此表中如此频繁地看到“优化表”链接(在 3/4 天内出现),而该数据库的其他表没有显示优化表链接(它们显示每月链接一次,甚至每两个月或更长时间链接一次)。
由于我不是删除这个表行,只是插入,如果发现重复键,只是更新,那么为什么需要如此频繁地优化?
【问题讨论】:
-
你启用了 innodb_file_per_table 吗?
-
您是否更新了唯一键中的列?
-
不,它不是innodb结构化表,它的引擎是MyISAM
-
不,唯一键列不会在查询中更新。
标签: mysql optimization phpmyadmin