MySQL - 获得多种设置的最有效查询?

时间:2011-06-20 14:34:54

标签: mysql

名称:设置。列:id / name / value

实施例

  

id / name / value

     

1 / site_name / Blah

     

2 / root_path / blah

     

3 / something / bloh

选择多个这些设置的最有效方法是什么?

4 个答案:

答案 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的记录。无论如何,查找时间将非常整齐。索引“名称”可能是最好的选择,因为我猜测你将要查询的是什么。