解决方案 »

  1.   

    限制数量的问题:1.一个数据库是没有表现值的,或者说这个被限制的值很大2.一个mysqld服务可以支持的表对象数量是,42亿多点,所以这个限制基本上不需要考虑多少张表适合的问题:1.当一个数据库或实例中,表太多,意味着可能同时需要打开的表,从操作系统角度说就是:文件描述符很多,这个操作系统有限制的,但是可以修改操作系统的内核参数达到2.多少表性能就会下降,分2点阐述2.1.分表多,意味着需要维护的表结构和统计信息多,一般情况下此不会成为任何瓶颈,但是太不合理,比如几万甚至更大,可能就有问题了2.2.性能是否下降明显,最直接的就是:跟服务器的承载能力和数据量有关系,这个是最直接的3.反问“为何要分很多表”呢?3.1.分表太多,容易造成程序逻辑复杂,降低性能,以及增加出错的风险点3.2.若是表中的数据量(指容量,多少GB)很大,只是分表解决不了问题,因为在同一个服务器上,其物理IO能力最优先达到瓶颈
      

  2.   

    是这样的,根据以前使用sybase数据库的经验,当单表的数据量达到上千万时,就开始考虑做表分区或者分表了,不然的话以下几点性能会差:
    1.查询性能降低,索引过大。
    2.索引更新时间变长,无法并发更新索引
    3.插入性能降低,并发的插入都集中在最后一页上,分散不了插入点(没建聚簇索引)