SELECT
COUNT(DISTINCT tblA.person) AS personNum -- VARCHAR(25)
FROM
tableA tblA
INNER JOIN tableB tblB USING (recType, year, num)
WHERE tblB.req_id = '';说明:recType, year, num是tableA主键中的3个,还有个seqeunceID。这个表大概有450万条数据。
执行的时候,用到了由recType, year, num所组成的索引。
对于tableB,主键是req_id,用到了主键的索引。这个表大概会有3000条数据上面这个语句花费如下
——# Query_time: 39 Lock_time: 0 Rows_sent: 1552 Rows_examined: 7927请问这个语句应该优化!
这个问题困扰我好几天了
请大家多多帮忙
COUNT(DISTINCT tblA.person) AS personNum -- VARCHAR(25)
FROM
tableA tblA
INNER JOIN tableB tblB USING (recType, year, num)
WHERE tblB.req_id = '';说明:recType, year, num是tableA主键中的3个,还有个seqeunceID。这个表大概有450万条数据。
执行的时候,用到了由recType, year, num所组成的索引。
对于tableB,主键是req_id,用到了主键的索引。这个表大概会有3000条数据上面这个语句花费如下
——# Query_time: 39 Lock_time: 0 Rows_sent: 1552 Rows_examined: 7927请问这个语句应该优化!
这个问题困扰我好几天了
请大家多多帮忙
应该没有吧
我在ChinaUnix问过,没有人回复
[MYSQL 邮件列表]我从来没有用过
1 SIMPLE tblB ref PRIMARY PRIMARY 150 const 3621 Using where
1 SIMPLE tblA ref PRIMARY, ind_req_type_year 26 tblB.recType, 1
ind_req_type_yea tbleB.year,
tbleB.num