我有一个应用程序,可以分析人们在 Facebook 上的喜好,并将它们与他们在过去几十年中可能喜欢的东西进行匹配。
作为优化我们拥有的匹配的一部分,我存储了每个用户的喜好(使用他们的 Facebook ID 的哈希值,以保持匿名)。人们可以多次输入,因此它会多次存储他们的喜欢,从而使结果有些偏差。
所以我的user_likes
桌子是这样的:
id | page_id | user_id_hash
----------------------------------
| |
我目前有大约 820,000 条记录。
目前,如果我进行查询:
SELECT page_id, COUNT(*) from user_likes
GROUP BY page_id LIMIT 0,30
这大约需要 8 秒,并且给了我一个错误的计数,因为它可以计算多次输入的人。
我的问题是:
1)我怎样才能加快这个查询?
2)如何获得更准确的计数?