如果要把全国人口的身份信息,以身份证号码为关键字,记录放到数据库中,有这样的需求,查询本市的人口信息并导出, 在存储的时候,是分市(身份证号前6位相同)建立多表(即每个市一张表,表的结构一样)存储好, 还是将所有的放到一张表中也可以,两者在查询效率上有多大的差别? 个人觉得一张表便于管理,但查询效率上会不会大的打折扣呢?特别是在查询结果集含记录比较多的时候会不会非常的慢? 有没有人做过这种海量的数据存储?都应注意什么问题

解决方案 »

  1.   

    楼上的兄弟,那如果我现在要查询一个人,根据名字(假设这个名字全国重名的不太多),那查询不是很费劲,要循环所有的表
      

  2.   

    一个数据库可以建多少表,对性能有影响吗?
      

  3.   

    分市建表,一表十几亿条数据实在太大,不利于维护
      

  4.   

    分市建立表,这样比较好维护
    如果想要方便管理的话,还可以根据市表建立省视图和全国视图,然后根据不同的查询范围来选择查表还是查视图
      

  5.   

    没有明显的负影响,倒是当单表数据量非常大的时候,随着服务器运行时间的增长,服务器的查询效率会有比较明显的下降
      

  6.   


    那你建一张表的不也得遍历所有的吗
      

  7.   

    像你这种需求,一张表就搞定了,还有分布式数据库这种需求吗?
      

  8.   

    只是打个比方而已啦,想做一个类似于校友录这样的字段信息比较多!