mysql - 重复选择同一组 ID

标签 mysql select

假设我有一个包含 10,000 行的表,每行都有一个唯一 ID。用户第一次访问我的网站时,我会随机选择 100 个 ID 并将它们存储在数据库中,这样每当他回来时我就能够再次选择这些确切的 ID。

我的问题是:存储这些 ID 的最佳方式是什么?我应该只创建另一个表并让每个 ID 每行存储一个吗?或者我应该用逗号连接它们然后将它们保存为一大行?每次选择这些数据,怎样做更有效率?

最佳答案

按关系存储这些可能会更有效。如果将它们存储在以逗号分隔的列表中,则需要在客户端对其进行解析,并运行多个查询。通过存储在数据库中,您只需要重复执行相同的查询。

MySQL 有一个 query cache (默认情况下禁用),如果您重复执行完全相同的查询并且基础数据在此期间没有更改,它将缓存结果。

关于mysql - 重复选择同一组 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203116/

相关文章:

mysql - 选择平均投票但使用 mysql 忽略前 5% 和后 5% 的选票

java - 不知道如何转换为字符串并打印 ResultSet、SELECT 语句

Mysql比较两个表中的两列

php - 使用 PHP shell_exec() 导出数据库并压缩它

php - PHP Mysql Codeigniter 应用程序中的 session 变量大小增加

sql - Oracle 从 SYSDATE 中减去 5 个工作日

php - 从多个表中计算不同的用户 ID

php - 服务器 'upgrade' 之后 MySQL/PHP 站点速度极慢 - PHP 版本问题?

javascript - 使用另一个输入值设置 jQuery 值

css - 将 Bootstrap 选择器字段的标题右对齐