Mysql 如何跨不同的表创建索引 表A包括(id、字段A、字段B、字段C、字段D) 表B包括(id、表A id、fieldE、fieldF、fieldG) 我的查询如下所示:- 1.从表b中选择*,其中a.fieldA=?和a.fieldB=?和a.fieldC=?和a.fieldD=?我认为,一个良好的开端应该是: Table A consists of (id, fieldA, fieldB, fieldC, fieldD) Table B consists of (id, tableA-id, fieldE, fieldF, fieldG) My queries looks like this:- 1. select * from tableB b, tableA a where a.fieldA=? and a.fieldB=? and a.fieldC=? and a.fieldD=? and (b.fieldF >= '09/01/10' and b.fieldF <= '09/30/10'); 2. select * from tableB b, tableA a where a.fieldA=? and a.fieldB=? and a.fieldC=? and a.fieldD=? and b.fieldE=? and (b.fieldF >= '09/01/10' and b.fieldF <= '09/30/10');

Mysql 如何跨不同的表创建索引 表A包括(id、字段A、字段B、字段C、字段D) 表B包括(id、表A id、fieldE、fieldF、fieldG) 我的查询如下所示:- 1.从表b中选择*,其中a.fieldA=?和a.fieldB=?和a.fieldC=?和a.fieldD=?我认为,一个良好的开端应该是: Table A consists of (id, fieldA, fieldB, fieldC, fieldD) Table B consists of (id, tableA-id, fieldE, fieldF, fieldG) My queries looks like this:- 1. select * from tableB b, tableA a where a.fieldA=? and a.fieldB=? and a.fieldC=? and a.fieldD=? and (b.fieldF >= '09/01/10' and b.fieldF <= '09/30/10'); 2. select * from tableB b, tableA a where a.fieldA=? and a.fieldB=? and a.fieldC=? and a.fieldD=? and b.fieldE=? and (b.fieldF >= '09/01/10' and b.fieldF <= '09/30/10');,mysql,database,indexing,Mysql,Database,Indexing,也可能是B.tableA-id。专家可能会建议B上的某种索引(包括tableA id和其他值)是否有帮助。查询似乎缺少tableA和tableB之间的连接。+1@Pascal-当然,除非OP需要笛卡尔连接。我在这里寻找笛卡尔连接 create index huge_index on tableA (fieldA, fieldB, fieldC, fieldD) create index modest_index on tableB (fieldF, fieldE);

也可能是B.tableA-id。专家可能会建议B上的某种索引(包括tableA id和其他值)是否有帮助。

查询似乎缺少tableA和tableB之间的连接。+1@Pascal-当然,除非OP需要笛卡尔连接。我在这里寻找笛卡尔连接
create index huge_index on tableA (fieldA, fieldB, fieldC, fieldD)
create index modest_index on tableB (fieldF, fieldE);