我们有一张包含5400万条记录的表格。这是表结构。
CREATE TABLE `metaplay` (
`track_id` int(11) NOT NULL DEFAULT '0',
`user_id` int(11) DEFAULT NULL,
`completed` int(11) DEFAULT NULL,
`skipped` int(11) DEFAULT NULL,
`created` int(11) DEFAULT NULL,
`updated` int(11) DEFAULT NULL,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `created` (`created`),
KEY `updated` (`updated`),
KEY `skipped` (`skipped`),
KEY `track_id` (`track_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
所有这些数据都是数字。此时,我们每分钟有大约300次插入和~100次更新。我们还从该表中提取每日,每周和每月的曲目播放记录。现在我的问题是以下哪一项对于建筑设计和最佳性能会更好。如果你能突出显示硬件细节,我将不胜感激。
你也建议像这样的表的任何mysql特定的调整技巧吗?
答案 0 :(得分:1)
带有4GB Ram的SSD缓存存储中的MySQL。使用mecached获得最佳性能。如果您使用buffer_pool_size = 3GB将存储引擎更改为innodb,您将看到巨大的性能提升。如果可能的话,升级到5.6 innodb在5.6中的表现明显好于以前。 Innodb在5.6中也有本机memcached支持。 阅读here了解更多信息