一张表中保存了几百万条记录吗?如果可能的话,做水平分区吧,这样多记录对于一张表而言太多了,当一张表的记录数超过1,000,000时就应该考虑分区。优化查询有很多方法,比如磁盘I/O,你的系统目前的性能瓶颈主要集中在磁盘I/O上,解决办法也恐怕只有把数据表拆分并分散到不同的文件组保存到不同的物理磁盘上去了。当然,如果使用合理的RAID机制也可以得到性能增益。

解决方案 »

  1.   

    建議用RAID机制﹐我們公司就是這樣﹐兩百多萬條數據速度還不錯。
      

  2.   

    to:david_xu322(咖啡原來是苦的) 
    能不能根据你们公司实施的具体例子来简单介绍一下RAID机制
      

  3.   

    使用二级(多级)文件组可以有效提高IO速度,而且可以成倍提高(看你能挂多少硬盘了),再配合RAID,提高10倍之内的性能是可以期待的。另外count(*)这种操作最好少做,尤其是不带条件的,是需要做全表scan的,你看一下执行计划的成本就知道了。另外不太好理解你的应用建索引为什么不解决问题,难道全都是整表scan吗?
      

  4.   

    有了索引是快多了,但还是不够快啊,第1,2次访问还会time out,要多调用几下才会好一点,我的服务器就一个硬盘啊
      

  5.   

    create index
    優化SQL
    不要一次性查出所有data,可以考慮分頁的方法