改进MySQL INNER JOIN查询

时间:2016-03-02 17:41:11

标签: mysql query-optimization inner-join

我有表A和B,其中A在(X,Y)上有一个PRIMARY键,在'id'列上有另一个键; B在(X,Y,Z)上有一个PRIMARY键。对于两个表,X,Y和Z都是相同的类型; A.id是一个整数。

我想运行以下查询:

+----+-------------+-------+--------+------------------+---------+---------+--------------+----------+-------------+
| id | select_type | table | type   | possible_key     | key     | key_len | ref          | rows     | Extra       |
+----+-------------+-------+--------+------------------+---------+---------+--------------+----------+-------------+
|  1 | SIMPLE      | B     | ALL    | PRIMARY          | NULL    | NULL    | NULL         | 10659636 |             | 
|  1 | SIMPLE      | A     | eq_ref | PRIMARY,id       | PRIMARY | 8       | db.A.X,db.A.Y|        1 | Using where | 
+----+-------------+-------+--------+------------------+---------+---------+--------------+----------+-------------+

但是,此选择的EXPLAIN表示虽然主键用于A,但它不用于B,因此将搜索~10M行。

spconv -if raw -of wav xxx.al xxx.wav

如何优化此查询以使用A和B的主键?

0 个答案:

没有答案