这么大的数据量,应该考虑数据库的逻辑设计、物理设计。mysql5.1.6支持分区表,可以考虑。
另外,单纯索引显然不能满足需求,应在sql设计尽量优化的基础上增强硬件设施、缓存等。
这里有一篇介绍 http://www.cublog.cn/u/17686/showart.php?id=141571 仅供参考

解决方案 »

  1.   

    在查询语句里使用 LIMIT,这样,符合条件的记录越多,查询结束得越快。
      

  2.   

    海量数据,单靠优化查询是起不了多大作用的,只能从外部加强MySQL的处理能力:1、增加硬件,如内存、CPU、做SCSI RAID 0+1
    2、在此基础上增加服务器,做数据同步(1-N台MASTER用于INSERT、UPDATE、DELETE,做写优化;1-N台SLAVE专门用来SELECT,做读优化),客户端部分做负载均衡。那个爽啊!
      

  3.   

    提升硬件配置,可以若干倍地提高 MySQL 性能,而恰当地使用索引,往往可以成“百”倍地提高查询速度。“索引建多了插入会慢”,按理应该是这样的,但从 MySQL 的文档里看,INSERT 过程中,因 index 带来的开销并不占主要部分,一般来说应该还是利大于弊的。
      

  4.   

    索引多了,影响你的查询速度.应该用limit会快一些