[英]MySQL SELECT Statement against an Index
我有一個在前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子句是什么樣的? 謝謝。
如果您對兩列都定義了索引,則第二種用法是正確的。 在SQL中,您只能針對表,視圖或表值用戶定義函數中的列定義謂詞(我認為MySQL還沒有)。 您無法選擇索引,但是當您同時包含兩個列時,優化器將知道使用適當的索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.