我有一个相当长的插入查询,该查询从表中选择查询插入数据。问题在于select查询花费太长时间才能执行。该表是MyISAM,并且该选择会锁定影响也使用该表的其他用户的表。我发现查询的问题是一个连接。MySQL(MyISAM)SELECT查询需要花费很长时间加入
当我删除查询的这个部分,它只需花费不到一秒钟执行,但,当我离开这部分查询时间超过15分钟:
LEFT JOIN enq_217 Pex_217
ON e.survey_panelId = Pex_217.survey_panelId
AND e.survey_respondentId = Pex_217.survey_respondentId
AND Pex_217.survey_respondentId != 0
db.table_1
含有5,90,145行和e
包含4,703行。
explain输出:
id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY e ALL survey_endTime,survey_type NULL NULL NULL 4703 Using where
1 PRIMARY Pex_217 ref survey_respondentId,idx_table_1 idx_table_1 8 e.survey_panelId,e.survey_respondentId 2 Using index
2 DEPENDENT SUBQUERY enq_11525_timing eq_ref code code 80 e.code 1
如何编辑查询,这部分要快?
可以显示EXPLAIN' –
的'输出的总查询16610个字符长..使用'解释你query'并显示输出 –
运行查询 –