我正在为我的应用程序使用 mysql db。我有一个包含 4000 万行数据的表。我想在这个表中运行一个更新查询。表包含三个字段。Id、TaxiId、日期和距离。我想将距离更新为零特别Taxiid's.I 正在使用这样的查询
update abc set distance=0 where TaxiId in(2026,2031,2033,2035,2037,2039);
使用解释时,我得到以下结果
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE abc range abc_trip_fk abc_trip_fk 5 1916397 Using where
表声明
CREATE TABLE `testdb`.`abc` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`TaxiId` int(8) DEFAULT NULL,
`distance` double DEFAULT NULL,
`date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (id),
KEY `trip_fk` (`TaxiId`) USING BTREE,
) ENGINE=InnoDB AUTO_INCREMENT=125127797 DEFAULT CHARSET=latin1;
当我运行此查询时,整个应用程序都会挂起。