【发布时间】:2018-02-07 17:48:34
【问题描述】:
我有一个键值表:
id, data_id, key, value
引用数据表:
id, file_id, data
它又引用了一个文件表:
id, name
文件包含大约 10000 个条目 数据包含大约 1 亿个条目
键列有大约 100 个不同的值 value 字段有许多不同的值(字符串)
现在我想知道data_id, key, value 三列的顺序是什么
应该在我的索引中。
我感兴趣的查询会查找具有特定 file_id 和特定键值组合的数据条目。例如:
SELECT * FROM files, data, keyval
WHERE files.id = data.file_id
AND data.id = keyval.data_id
AND files.id = 999
AND keyval.key = 'revenue'
AND keyval.val = 9.99
【问题讨论】:
-
请注意投票以“主要基于意见”结束此问题的人......如果我们根据“意见”选择要定义的索引,我们做错了。