我为一个网站建立了一个类似的系统,我面临两难选择。
我有一张表格,其中存储了所有可以喜欢的项目。称之为“项目表”。
为了保持服务器的速度,我是否必须:
问题>如果我(偶然)有3000个喜欢的物品,我担心弦乐开始非常大而且很重,每次正如 在它...
问题>在这种情况下,我担心MySQL服务器有几千行来分析新用户每次像一个热门项目...
服务器版本:Atomicorp的5.5.36-cll-lve MySQL社区服务器(GPL)
我应该把负载放在PHP脚本还是MySql数据库上?什么是最高性能(和可扩展)?
如果由于某些原因,我的问题没有让人感到有人能告诉我正确的方法吗? THX。
答案 0 :(得分:0)
您必须创建另一个表格likes_table
,其中包含id_user int
,id_item int
应该如何处理,如果您喜欢您提出的第一个解决方案,您的数据库将无法正常化而且你将来会遇到太多问题。
为了得到像你一样的计数
SELECT COUNT(*) FROM likes_table WHERE id_item='id_item_you_are_looking_for';
让谁喜欢什么:
SELECT id_item FROM likes_table WHERE id_user='id_user_you_are_looking_for';
没有正则表达式什么都不需要,并且您的数据库已经很好地规范化以便轻松找到数据。您可以告诉mysql将id_user
和id_item
编入索引,使其在likes_table
中成为唯一,这样您的所有查询都可以更快地运行
答案 1 :(得分:0)
使用MySQL,您可以将用户ID和项目ID设置为unique pair。这应该会提高很多性能。
您的表格包含以下两列:item id
和user id
。每一行都是一样的。