名称:设置。列:id / name / value
实施例
id / name / value
1 / site_name / Blah
2 / root_path / blah
3 / something / bloh
选择多个这些设置的最有效方法是什么?
答案 0 :(得分:3)
使用WHERE
:
SELECT * FROM `table_name` WHERE id='1'
OR:
SELECT * FROM `table_name` WHERE name='site_name'
OR与in
:
SELECT * FROM `table_name` WHERE name in ('site_name','root_path')
OR(仅获取id
s):
SELECT id FROM `table_name`;
etcetera etcetera - 这可以继续多种组合。
答案 1 :(得分:2)
IN()列表。如果您有一个索引,这将有效地利用name
列上的索引。
select * from `settings`
WHERE name IN('site_name', 'root_path')
答案 2 :(得分:1)
SELECT name,value WHERE name in ('site_name','something')
或者如果你知道ids。
SELECT name,value WHERE id in (1,3)
答案 3 :(得分:0)
如果这些是简单的3列行和设置,效率确实不是问题。我不能看到你有超过10k的记录,事实上我真的看不到你有超过100的记录。无论如何,查找时间将非常整齐。索引“名称”可能是最好的选择,因为我猜测你将要查询的是什么。