2014-01-18 111 views
1

比方说,我有一个表格,每行有10,000行,每个表都有一个唯一的ID。用户第一次访问我的网站时,我会随机挑选100个ID,并将它们存储在数据库中,以便每当他返回时,我将能够再次选择这些确切的ID。重复选择相同的ID组

我的问题是:什么是最好的方式来存储这些ID?我应该只是创建另一个表,并让每个ID存储每行一个?还是应该用逗号加入他们,然后将他们保存为一个大排?每次选择此数据的效率更高?

+3

数据库中以逗号分隔的值不好!使用关系表。 – Barmar

回答

3

将这些关系存储起来可能更高效。如果将它们存储在逗号分隔的列表中,则需要在客户端解析此列表,然后运行多个查询。通过存储在数据库中,您只需要重复执行相同的查询。

MySQL有一个query cache(默认情况下禁用),如果您重复执行完全相同的查询并且基础数据不会同时发生更改,则会缓存结果。