我在myISAM中拥有了所有表,但是当我长时间运行更新作业时,表级锁定开始杀了我.我将我的主表转换为InnoDB,现在我的许多查询都需要花费1分钟才能完成,这些查询几乎是在myISAM上完成的.他们通常陷入困境Sorting result.我做错什么了吗?
例如 :
SELECT * FROM `metaward_achiever`
INNER JOIN `metaward_alias` ON (`metaward_achiever`.`alias_id` = `metaward_alias`.`id`)
WHERE `metaward_achiever`.`award_id` = 1507
ORDER BY `metaward_achiever`.`modified` DESC
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
现在大约需要90秒.这是描述:
+----+-------------+-------------------+--------+-------------------------------------------------------+----------------------------+---------+---------------------------------+-------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------------------+--------+-------------------------------------------------------+----------------------------+---------+---------------------------------+-------+-----------------------------+
| 1 | SIMPLE | metaward_achiever | ref | metaward_achiever_award_id,metaward_achiever_alias_id | metaward_achiever_award_id | 4 | const | 66424 | Using where; Using filesort |
| 1 | SIMPLE | …Run Code Online (Sandbox Code Playgroud)