最近要帮朋友改一个实时交易的系统, 以前的系统做得比较差,数据库设计很简单,就是想办法将所有的数据的存起来,主要的问题是效率越来越慢。特别是交易的表,几秒钟可能要插入几万条, 同时还要在业务表检索,客户端经常卡出,我觉得这应该是数据库设计中最常见的问题,不过我自己也就做过最简单的设计,所以想问问各位大神,有没有什么好的方法。1, 是不是要把业务表水平分表,一个表储存所有记录,一个表储存实时记录,然后插入时,同时插入两条数据到各个表中2, 临时表有没有帮助, 临时表怎么用,应该怎么设计呢3, 是不是还要有什么分页技术的,这个完全不懂了。4, 肯定有很多我不知道的方法,求指导

解决方案 »

  1.   

    对于在业务表检索,客户端经常卡出的问题,可以考虑创建一个存储过程+JOB实现超过3天(具体时间根据业务情况设定)的从当前表转存到附表,以减轻当前业务表的负担。
      

  2.   

    像证券交易,是可以分表
    不过前提是性能压力太大,否则分表后查询会麻烦很多分区表则是底层分表以得到高性能,应用操作照旧:sql面对的还是一个大表