插入的条目中有一列包含插入的时间(int存的时间戳),在insert的同时,还需要从这张表中根据插入时间select出一些条目。
现在使用的是MyISAM做存储引擎,但select时间特别长(只是5s内插入的条目count(*)就需要约10s时间,表内现存数据大约9M条),请问下应该在什么方面优化,谢谢。
6 个解决方案
#1
由于需要保障插入速度(并且需要的插入速度可能还需要提高),所以没有建索引。看到这个我想
#2
如果插入数据量大,建议将数据保存在TXT中,用LOAD DATA导入
#3
使用数据库复制。 主服务器用于写, 从服务器用于读。
#4
count(*)肯定是带where的吧。这个没办法的,要么在索引上count
#5
count(*)跟索引无关,mysql本来就对其做空了优化。是写锁,分表吧。
#6
读写分离吧,两个数据库,主从实现。
#1
由于需要保障插入速度(并且需要的插入速度可能还需要提高),所以没有建索引。看到这个我想
#2
如果插入数据量大,建议将数据保存在TXT中,用LOAD DATA导入
#3
使用数据库复制。 主服务器用于写, 从服务器用于读。
#4
count(*)肯定是带where的吧。这个没办法的,要么在索引上count
#5
count(*)跟索引无关,mysql本来就对其做空了优化。是写锁,分表吧。
#6
读写分离吧,两个数据库,主从实现。