所以我有以下表townResources,我存储每个城镇ID的每个资源值。我对大量用户的性能影响有点保留。我正在考虑将资源的余额移动到城镇表,以及将其存储在.php文件中的资源的一般值:)。
这里有townreources表:
CREATE TABLE IF NOT EXISTS `townresources` (
`townResourcesId` int(10) NOT NULL AUTO_INCREMENT,
`userId` int(10) NOT NULL,
`resourceId` int(10) NOT NULL,
`townId` int(10) NOT NULL,
`balance` decimal(8,2) NOT NULL,
`resourceRate` decimal(6,2) NOT NULL,
`lastUpdate` datetime NOT NULL,
PRIMARY KEY (`resourceId`,`townId`,`townResourcesId`,`userId`),
KEY `townResources_userId_users_userId` (`userId`),
KEY `townResources_townId_towns_townId` (`townId`),
KEY `townResourcesId` (`townResourcesId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Stores Town Resources' AUTO_INCREMENT=9 ;
对我而言,这是最好的选择吗?:)
答案 0 :(得分:1)
您最好的选择是先测试一下。多少用户&你想支持哪些城镇?三倍......创建测试数据并查看性能是否在界限范围内。
答案 1 :(得分:1)
如果遇到性能问题,应该考虑使用redis或memcache缓存数据。