【发布时间】:2012-03-22 02:55:12
【问题描述】:
我正在使用仅 MyISAM 的数据库,并且对大表的更新花费了太多时间。表的大小约为 30 GB(MYD 和 MYI 各 15 GB)。除了看索引,还有什么可以提高速度的吗?
【问题讨论】:
-
如果没有看到您的表结构和更新查询,很难提供帮助。请提供更多信息。
标签: mysql performance optimization myisam bigtable
我正在使用仅 MyISAM 的数据库,并且对大表的更新花费了太多时间。表的大小约为 30 GB(MYD 和 MYI 各 15 GB)。除了看索引,还有什么可以提高速度的吗?
【问题讨论】:
标签: mysql performance optimization myisam bigtable
MyIsam 密钥缓存调整: http://docs.oracle.com/cd/E19957-01/mysql-refman-5.4/optimization.html#myisam-key-cache
一般性能优化:(有很多) http://docs.oracle.com/cd/E19957-01/mysql-refman-5.5/optimization.html
30GB 挺大的,你跑的是高端服务器吗?
【讨论】:
如果您要加载大量数据,请查看批量插入命令,甚至根据您的具体情况将数据加载到文件中。
如果您要进行大量插入,则可能值得在插入之前测试禁用键。它可能有助于加快速度。
使用
insert into myTable values("rec1","hello"),("rec2","world"),("rec3","cheesy huh");
将在 1 条语句中插入 3 条记录 - 再次,您需要对其进行测试。
我已经完成了这种包含数千行的插入形式,它在我的示例中运行良好。
【讨论】:
还有一些有趣的笔记:
【讨论】: