SQL:如何确定所需的表索引?

时间:2014-04-19 19:42:05

标签: mysql

我在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(主键)并测试了某些内容的两个变量。第一次使用类似条件,第二次使用相同的条件进行比较。可以优化吗?

0 个答案:

没有答案