MySQL怎样提高同一张表中同时插入及查询性能?

时间:2021-07-28 00:42:07
我们现在的需求是这样的,需要在一张表内insert条目(一条条目约14列,没有外键之类的),速度大约每秒4k条左右,由于需要保障插入速度(并且需要的插入速度可能还需要提高),所以没有建索引。
插入的条目中有一列包含插入的时间(int存的时间戳),在insert的同时,还需要从这张表中根据插入时间select出一些条目。
现在使用的是MyISAM做存储引擎,但select时间特别长(只是5s内插入的条目count(*)就需要约10s时间,表内现存数据大约9M条),请问下应该在什么方面优化,谢谢。

6 个解决方案

#1


由于需要保障插入速度(并且需要的插入速度可能还需要提高),所以没有建索引。看到这个我想 MySQL怎样提高同一张表中同时插入及查询性能?

#2


如果插入数据量大,建议将数据保存在TXT中,用LOAD DATA导入

#3


使用数据库复制。 主服务器用于写, 从服务器用于读。

#4


count(*)肯定是带where的吧。这个没办法的,要么在索引上count

#5


count(*)跟索引无关,mysql本来就对其做空了优化。是写锁,分表吧。

#6


读写分离吧,两个数据库,主从实现。

#1


由于需要保障插入速度(并且需要的插入速度可能还需要提高),所以没有建索引。看到这个我想 MySQL怎样提高同一张表中同时插入及查询性能?

#2


如果插入数据量大,建议将数据保存在TXT中,用LOAD DATA导入

#3


使用数据库复制。 主服务器用于写, 从服务器用于读。

#4


count(*)肯定是带where的吧。这个没办法的,要么在索引上count

#5


count(*)跟索引无关,mysql本来就对其做空了优化。是写锁,分表吧。

#6


读写分离吧,两个数据库,主从实现。