我正在为我的项目使用MySql数据库,
我有一张 6百万条记录的表格,其中我正在更新 5百万条记录,我的表格结构和查询如下。
表
CREATE TABLE `temp` (
`ref_id_1` int(11) NOT NULL,
`ref_id_2` varchar(32) NOT NULL,
`dna_id` int(11) DEFAULT NULL,
`product_id` varchar(16) DEFAULT NULL,
PRIMARY KEY (`ref_id_1`,`ref_id_2`),
KEY `product_id` (`product_id`),
KEY `dna_id` (`dna_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
更新查询
UPDATE temp SET dna_id = 8 WHERE product_id ='Dr_23' AND ref_id_1 = 4;
产品ID Dr_23 的 500万记录
以上查询需要大约2分钟才能执行。我有32 GB RAM和SSD Harddisk。
有谁知道如何优化此查询