我在AWS RDS上运行MySQL 8,我有一个InnoDB类型的表,里面有26万行,没有非凡的数据量。
我的开发服务器的特点是1GB内存,1vCPU,我的AWS RDS服务器是t3.small。
SELECT Count操作时间太长(平均33秒),我的Laravel项目中的数据表超时,可能是什么问题?
select count('special_cargo_id') from special_cargos
33秒
special_cargo_id是你的PK,它的类型是什么,是否适合innodb_buffer_pool_size?
运行。
select count(1) from special_cargos;
运行几次 第一次之后是否会很快运行?如果是,那么它有时变慢的原因是你的内存不足,其他数据把你在该表上的PK推出了innodb_buffer_pool。如果它总是很慢,那么PK很可能从来没有装进缓冲池。
如果你想调试数据库的性能,RDS有一个很好的内置工具。
有了 RDS业绩分析 你应该能够确定瓶颈在哪里。