我目前有兩個名爲「名稱」和「帳戶」的表。我需要選擇帳戶已啓用的所有名稱。所以我可以通過兩種方法做到這一點,但我想知道哪種方法更快更高效?哪種查詢更高效?
第一種方式是選擇所有啓用的帳戶,然後在一個單獨的查詢有一個地方可以使用這些帳戶條款(僞):
SELECT account_id FROM accounts WHERE enabled=1;
然後
SELECT * FROM names WHERE account_id IN (account_id_list);
或者我可以做一個簡單的加入表格:
SELECT * FROM names JOIN accounts USING account_id WHERE enabled=1;
名稱表將約10-25k行,將a也可以使用SQLite在移動設備(Android)上運行。
謝謝!
使用命令'EXPLAIN Q UERY PLAN'並找出:http://www.sqlite.org/eqp.html – 2012-02-03 00:25:57
沒有想到這個......這可能是最好的答案! – Nick 2012-02-03 18:29:12