[英]Mysql 5.7 Innodb Delete query very slow randomly
我有5个简单字段的表。 表中的总行数为cca 250。
当我将PHPmyAdmin与一个DELETE查询一起使用时,它的处理时间为0.05秒。 (总是)。
问题是我的PHP应用程序(PDO连接)在其他查询之间处理相同的查询,并且此查询非常慢(大约10秒钟)。 在表上也有5行的另一个SELECT查询(大约1秒钟)。 它只是偶尔发生! 其他查询(cca 100)始终可以正常响应时间。
应该是什么问题,或者如何找到问题所在?
表:
CREATE TABLE `list_ip` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`type` CHAR(20) NOT NULL DEFAULT '',
`address` CHAR(50) NOT NULL DEFAULT '',
`description` VARCHAR(50) NOT NULL DEFAULT '',
`datetime` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00',
PRIMARY KEY (`id`),
INDEX `address` (`address`),
INDEX `type` (`type`),
INDEX `datetime` (`datetime`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB;
查询:
DELETE FROM list_ip WHERE address='1.2.3.4' AND type='INT' AND datetime<='2017-12-06 08:04:30';
正如我之前所说,表只有250行。 桌子的大小是96Kib。 我也用空表测试了它的速度。
在EXPLAIN中包装查询,看看它是否正在运行顺序选择,而不使用索引。 在确定我是否有数据模型问题时,EXPLAIN是我的第一站(坏/丢失的索引将是一个模型问题)。
关于EXPLAIN: https : //dev.mysql.com/doc/refman/5.7/en/explain.html
我推荐的另一个工具是运行“ mytop”,并在服务器停滞期间检查服务器活动/负载。 http://jeremy.zawodny.com/mysql/mytop/
网络出现问题。 我用一些网络外围设备卸载了docker app,看起来更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.