这个查询极其缓慢花费大量的时间来执行:的MySQL更新查询使用索引
UPDATE facturacion2013_full a, facturacion2013_contadores b SET a.B1 = b.consumo WHERE a.contador = b.contador
这里我表结构:
CREATE TABLE IF NOT EXISTS `facturacion2013_full` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`poliza` int(8) NOT NULL,
`contador` varchar(12) NOT NULL,
`B1` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fields_idx` (`contador`),
KEY `fields_iidx2` (`poliza`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
CREATE TABLE IF NOT EXISTS `facturacion2013_contadores` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`poliza` int(8) NOT NULL,
`contador` varchar(12) NOT NULL,
`consumo` int(8) NOT NULL,
PRIMARY KEY (`id`),
KEY `idx1` (`contador`),
KEY `idx2` (`poliza`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
我试着改变小事情,没有运气。还尝试改变一些参数,如缓冲区大小,max_heap_table_size的mysql配置...我错过了什么?提前致谢!
首先使用'EXPLAIN'找出数据库正在做什么。 – 2014-02-12 19:16:11
我安装了5.1版本我无法使用EXPLAIN UPDATE ... –