对一张【共享池】表 每天有几W或几十W数据插入 和 删除
几个小时 索引碎片就有90%+
再加上 频繁的删除、查询、插入造成的系统卡,等待独占锁释放
求从2个方面解决问题:
1:业务逻辑方面优化
2:数据库优化
感谢各位,真是愁死我了,系统一直卡,系统每天凌晨4点会重新生成索引,
但是没用啊, 别人几个小时 索引碎片就90+ 再加上删除造成的 等待
几十万是小量数据啊。提供的信息太少了。
可以了解下这些文章http://www.cnblogs.com/CareySon/archive/2012/05/08/2489748.html 重点看索引篇
对于索引碎片的生成与解决方案 http://www.agilesharp.com/showtopic-154.aspx
1. 插入的时候可以使用一个缓存池,使用队列处理
2. 插入使用批量操作,sqlbulkcopy 应该是一个不错的选择
3. 使用读写分离,写入数据用一张表(库),读取是另外的一张表(库),两者同步,或者使用数据库镜像
4. 使用分表,如果你每天写入几十万的数据,定期将数据库表分区备份
数据库优化方案,1,数据库读写分离,然后同步,2,根据业务特性,垂直分表。