我目前有两个名为“名称”和“帐户”的表。我需要选择帐户已启用的所有名称。所以我可以通过两种方法做到这一点,但我想知道哪种方法更快更高效?哪种查询更高效?
第一种方式是选择所有启用的帐户,然后在一个单独的查询有一个地方可以使用这些帐户条款(伪):
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