0
可以說我有一個數據庫中的兩個表:sqlite的:避免全表掃描,而查詢一對多DATABSE
user:
---------------
| name | id |
|-------|-----|
| foo | 1 |
| bar | 2 |
---------------
comments:
------------------
| comment | id |
|-----------------|
| comment 1 | 1 |
| comment 2 | 1 |
| comment 3 | 1 |
| comment 4 | 1 |
| comment 5 | 1 |
| comment 1 | 2 |
------------------
讓我們說,我想拉起通過foo
提出的所有意見,所以我的查詢將被
SELECT c.comment from comments c, user u WHERE u.name='foo' and c.id = u.id
將上述查詢做一個全表掃描的意見表獲得評論用戶foo
作出或是否有更好的查詢優化這個,避免全表查詢?我應該爲這些表創建索引嗎?
儘量避免用逗號分隔連接! –
爲什麼你認爲SQLite正在進行全表查找?你檢查執行計劃嗎?儘管使用顯式的'JOIN'運算符不會(或不應該)改變性能,但它比使用'where'子句中的過時隱式連接更好的編碼風格 –
閱讀[documentation](http: /www.sqlite.org/eqp.html)。 –