对,这个问题也是我想问的,如果数据表的记录数据非常的多(但又不能删除)是不是除了做数据表的优化与查询语句的优化没有其它的办法了??就像是DangDang中的图书资料,我要在查找的时候是不是真的要把整个数据表都访问一次?不会吧????有没有很的解决方案?

解决方案 »

  1.   

    我会按时间分开不同的表存放,我公司以前有人这样做过,10年的数据全部可以追溯,现在的速度听说和以前没有什么明显的变化,每个月的业务数据换一个表,表名字要有规律,如;table_2004_03, 在查找过程中的代码考虑到时间就可以了,做个循环。
      

  2.   

    就是与楼上: hbcb(青蛙王子) 说的,按时间分开不同的表存放。
      

  3.   

    hbcb(青蛙王子)的是种方法。
    不会就这一种方式解决吧。还有没有其它的解决方法。
      

  4.   

    表分区,这个概念在sqlserver跟oracle里看过,不过我没用过,不知道:P
    估计跟 hbcb(青蛙王子) 那种类似,只是数据库自动完成吧?呵呵,数据库高手来指正啊
      

  5.   

    目前CSDN所有论坛数据是怎样保存的,难到几年了所有的都存在一个数据表中吗。// 分开在不同的表。
      

  6.   

    “如果MySQL某数据表中的记录数有5000万条了。记录还在增长中。”
    那么请换用其他数据库,sqlserver和oracle
    这样的数据是轻型的数据库系统不能承受的“要保证数据的整体性(即在搜索页能够把所有符合条件的数据一次查找到)”
    并不需要把所有数据放在一个表里,那样只会降低效率“目前CSDN所有论坛数据是怎样保存的,难到几年了所有的都存在一个数据表中吗。”
    我认为csdn使用了分布式数据库系统...
      

  7.   

    建立一个索引对于一些经常搜索的字段,建立索引,比如name字段索引对字段的数据进行有序排列
    比如:Alex
    Beckham
    Bob
    Bush
    Hackfan
    Iverson当我搜索Hackfan的时候,MySQL会快速的在H开头的字母里面搜索,而不会对其他字母开头的数据进行搜索具体的索引知识,请买书看对于5000万的数据库,买本书看是应该的