我有一个数据库,大多数表都在MyISAM中,并检查了MySQLTuner和tuning-primer,以优化MySQL服务器变量,如key_buffer_size,max_connections,open_tables限制等。读取率为80%,写入率为20%。
我最近遇到的问题是有时候没有插入数据。我已经多次检查过它是如何插入数据的问题,比如奇怪的字符,但不是问题。似乎某种程度上数据库非常繁忙以至于插入和更新失败,大约有4个表被重读。但是,在很少有读取的表上进行插入,无法插入。我知道MyISAM会执行表锁,但是如果没有读取它们,我也不会看到它如何影响其他表的插入失败。
您有什么建议吗?
我使用MyISAM的主要原因是它比我对InnoDB的选择要快得多。查询总是使用索引,我运行explain extended
以确保一切正确,响应时间非常短,以避免服务器负载和堆积连接。
感谢您的评论。