检查庞大的MySQL表的最有效方法是什么?

时间:2014-09-18 04:30:59

标签: mysql

我有一项服务,用户可能喜欢"喜欢"其他用户发布的内容。目前,系统没有过滤掉用户已经喜欢的内容,这是不良行为。我有一个名为LikeRecords的表,它存储userID,contentID和timePlaced时间戳。我们的想法是使用此表来过滤用户在选择要显示的内容时已经喜欢的内容。

问题是,我是MySQL的业余爱好者,并且不太了解扩展和维护。尽管我只有大约1,500名用户,但该表已有45,000条记录。我担心随着我的服务增长到数十或数十万用户,这个表将爆炸成数百万并变得缓慢,因为过滤器操作会被频繁调用。

我可以在这里使用更好的设计模式,还是应该使用的维护技术?

编辑:以下是构建相关表格的查询:

CREATE TABLE `likerecords` (
 `likeID` int(11) NOT NULL AUTO_INCREMENT,
 `userID` int(10) unsigned NOT NULL,
 `orderID` int(11) NOT NULL,
 `timePlaced` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `special` tinyint(1) NOT NULL,
 PRIMARY KEY (`likeID`)
) ENGINE=InnoDB AUTO_INCREMENT=44775 DEFAULT CHARSET=latin1

我会用它来过滤其他表格中的结果,例如" orders"表

0 个答案:

没有答案