我有一个在前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子句是什么样的? 感谢。
答案 0 :(得分:1)
如果您为两列定义了索引,则第二种用法是正确的。在SQL中,您只能根据表,视图或表值的用户定义函数(我认为MySQL还没有)中的列来定义谓词。您不能选择关闭索引,但是当您包含两个列时,优化器将知道使用适当的索引。