我在sqlite应用程序中有2个表,我用连接操作查询。这似乎需要一些时间。我想知道创建额外的索引是否会加快查询速度。但我实际上并不完全确定如何选择用于创建新索引的字段。
以下是我对这些表的创建命令:
CREATE TABLE TAB1 (_id int(7) NOT NULL PRIMARY KEY, T1 VARCHAR(20), t2 VARCHAR(40));
CREATE TABLE TAB2 (_id int(7), T3 VARCHAR(10), T4 VARCHAR(100),
FOREIGN KEY (_id) REFERENCES TAB1(_id));
我的查询如下:
Select a._id, a.t1, a.t2 , b.t4 from (select * from TAB1 where t1 like 'XX%') a inner join tab2 b ON a._id=b._id aND b.t3='BBBB'
所以我基本上有两个问题: a)如何识别创建新索引会加快我的查询速度? b)如何为新索引选择字段?
在上面的例子中,我比较了id(主键)并测试了某些内容的两个变量。第一次使用类似条件,第二次使用相同的条件进行比较。可以优化吗?