我现在要实现一个站内信功能,使用mysql数据库
不想都放在一个表里,那样数据大了会有麻烦
现在想实现分表存贮
请各位讲下思路
分表之后,如何建立索引
应该用hash表,但是没有什么思路
字段:
id  from sendto title content dataline .....
from:发信人
sendto:收信人
....满意结果肯定给分500
现在最多能输入100,我会加分结贴

解决方案 »

  1.   

    我计划要按用户数量分表就可以了
    我想着比如
    1~1000人用一张表
    1001~2000 一次类推...
    然后得对用户做哈希映射,不然搜索的时候就麻烦了
    只是自己要做一个bbs,然后现在在设计站内信,有些困惑
      

  2.   

    建议直接用分区表。而不是用不同的表。http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html
    18. 分区
    18.1. MySQL中的分区概述
    18.2. 分区类型
    18.2.1. RANGE分区
    18.2.2. LIST分区
    18.2.3. HASH分区
    18.2.4. KEY分区
    18.2.5. 子分区
    18.2.6. MySQL分区处理NULL值的方式
    18.3. 分区管理
    18.3.1. RANGE和LIST分区的管理
    18.3.2. HASH和KEY分区的管理
    18.3.3. 分区维护
    18.3.4. 获取关于分区的信息
      

  3.   

    这么说,可以按照我的思路,在一个表上建立16个分区就可以了,哈哈.
    听说MyISAM,10个表,每个表100w数据,和1个表1000w数据,性能是一样的。 InnoDB的话可以提升五六倍.
    这样我直接用MyISAM,然后对表分区就可以了.
      

  4.   

    mysql提供分区表为何不用
    那是特性
      

  5.   

    看来看手册是学习MySQL的好方法!
      

  6.   

       [% for(int i=0;i<0;i++)
                {
    123123123123}
    %]