我有一个有1400万行的表,我正在尝试在这个表上执行全文搜索.对此的查询执行速度非常慢,对于简单的二进制AND查询大约需要9秒.在我的私有集群上立即执行相同的操作.该表的大小约为3.1 GB,包含1400万行.有人能解释一下RDS实例的这种行为吗?
SELECT count(*)
FROM table_name WHERE id=97
AND match(body) against ('+data +big' IN BOOLEAN MODE)
最佳答案
高IO率通常表示内存不足或缓冲区太小.一个3GB的表,包括索引,应该完全适合(少于)500美元每月专用服务器的内存.
原文链接:https://www.f2er.com/mysql/433798.htmlMysqL有许多不同的缓冲区,并且作为many parameters来摆弄.以下缓冲区是最重要的,在两个环境中比较它们的大小:
如果InnoDB:innodb_buffer_pool_size
如果是MyISAM:key_buffer_size和read_buffer_size