假设我有一个包含10,000行的表,每行都有一个唯一的ID。用户第一次访问我的网站时,我会随机选择100个ID并将其存储在数据库中,以便每当他返回时我都可以再次选择这些ID。
我的问题是:存储这些ID的最佳方法是什么?我应该只创建另一个表并让每个ID存储一行吗?或者我应该用逗号加入它们然后将它们保存为一个大行?每次选择这些数据的效率更高?
答案 0 :(得分:3)
关联存储这些可能会更有效。如果将它们存储在以逗号分隔的列表中,则需要在客户端解析它,并运行多个查询。通过在数据库中存储,您只需重复执行相同的查询。
MySQL有query cache(默认情况下已禁用),如果您重复执行完全相同的查询并且基础数据在平均时间内没有变化,它将缓存结果。