Below you will find pages that utilize the taxonomy term “覆盖索引”
November 21, 2012
理解MySQL数据库覆盖索引
"话说有这么一个表:\nCREATE TABLE user_group (\nid int(11) NOT NULL auto_increment,\nuid int(11) NOT NULL,\ngroup_id int(11) NOT NULL,\nPRIMARY KEY (id),\nKEY uid (uid),\nKEY group_id (group_id),\n) ENGINE=InnoDB AUTO_INCREMENT=750366 DEFAULT CHARSET=utf8\n看AUTO_INCREMENT就知道数据并不多,75万条。然后是一条简单的查询:\nSELECT SQL_NO_CACHE uid FROM user_group WHERE group_id = 245;\n很简单对不对?怪异的地方在于:\n如果换成MyISAM做存储引擎的时候,查询耗时只需要0.01s,用InnoDB却会是0.15s左右。\n如果只是就这么点差距其实不是什么大不了的事,但是真实的业务需求比这个复杂,造成的差距也很大:MyISAM只需要0.12s,InnoDB则需要2.2s.,最终定位到问题症结是在这 …"