2

我有以下 3 个 MySQL innoDb 表(显示为 table_name:column_list):

meter_type: id, meter_type (primary key id)
tag_type: id, meter_type_id (primary key id, foreign key meter_type_id(meter_type table))
tag: id, tag_type_id(primary key id, foreign key tag_type_id(tag_type table))

我有标签:id 我想查找级别 1、级别 2 或级别 3 的meter_type。我的查询是

SELECT m.`meter_type`
  FROM `tag` t  
          LEFT JOIN `tag_type` tt 
              ON tt.`id` = t.`tag_type_id`  
          LEFT JOIN `meter_type` m 
              ON m.`id` = tt.`meter_type_id`  
 WHERE t.`id` = '10' 

花费 4-4 分钟太慢了,这个查询使 mysql 服务器停机。

如何解决这个问题......任何其他方式来快速编写这个查询

4

1 回答 1

2

我敢打赌你没有在这个字段上添加索引:tag_type_idmeter_type_id. 这是有关如何在字段上正确添加索引的MySQL 文档。

于 2012-06-25T07:03:31.647 回答