针对索引的MySQL SELECT语句

时间:2010-07-20 12:53:26

标签: mysql

我有一个在前2列上编入索引的表。 A列称为“目录”,B列称为“名称”。

我的select语句有短语法可以用来返回正确的行吗?

示例:

我可以

吗?
SELECT * FROM table WHERE indexname = '/dir/sub-dir/page.html'

或者我必须

SELECT * FROM table WHERE directory = '/dir/sub-dir/' AND name = 'page.html'

如果我可以使用第一个例子,WHERE子句是什么样的? 感谢。

1 个答案:

答案 0 :(得分:1)

如果您为两列定义了索引,则第二种用法是正确的。在SQL中,您只能根据表,视图或表值的用户定义函数(我认为MySQL还没有)中的列来定义谓词。您不能选择关闭索引,但是当您包含两个列时,优化器将知道使用适当的索引。