sql的语句的快慢,关键在于对数据的操纵的速度。不过我建议你三个表中的字段最好不一样,并以比较好的命名规则进行区分,这样写程序进便于理解,你这样分为三个表,在操纵的时候速度比一个表要快得多,只不过每次你都要使用联合查询而以,我支持你用这三个表

解决方案 »

  1.   

    你觉的这样设计,数据库的管理方便吗??而且你在进行订单的处理的时候,岂不是要把单据移来移去???你这样不会提高多少速度,只是会加大你的程序的复杂程度,和埋下隐患。如果你用的是较大行的数据库,你的想法还是好的,你可以设计一个表格,然后作他的三个试图就可以了。用mysql的话,建议还是一个表格好了。相对于系统的易管理升级性来说,速度不一定是最重要的,不要顾此失彼
      

  2.   

    1、这种只是简单的INSERT INTO和DELETE语句,不同的写法效率上不会有太大差别的;
    2、如果按照你的这种设计,我觉得三个表应该使用同样的前缀;另外说点个人意见:
    我觉得没有必要使用这样的设计,因为这会给处理上带来很多麻烦;最主要的一点就是你可能必须得过一段时间手动或者“间接手动”地执行对“过期无效订单”的处理。
    如果你的订单数据库的数据不是非常之大(几十万、几百万?)的话,没有必要使用这种设计,就用一个数据表,不同的字段进行标识,就可以了。另外还有一种方法,那就是把这两种方法结合一下——建立四个数据表,其中[OrderForm]作为我上面说的那种方法使用的表,承担三种分类订单的“临时”存储;另外建立3个表作为暑数据备份:[OrderForm_Back_A]作为“未处理表单”,[OrderForm_Back_B]作为“成功处理表单”,[[OrderForm_Back_C]作为“无效订单”
    这三个表的作用只是备份数据,在前台不参与查询操作。没隔一段时间,管理员使用操作,对数据库进行备份。最后最简单的一种方法。。只用一个表,每半年换一个数据表,以前的留作备份,就ok了个人意见,个人意见,瞎掰莫怪:)
      

  3.   

    三个表也太浪费了一点吧.
    同样是订单你有没有考虑分别用三个字段来
    对它们加以标记呢?比如当订单从A状态到B状态
    就把标志状态A的字段UPDATE成B状态,其他情况
    同理,你觉得我这样的思路是否可行呢?
      

  4.   

    我不打算这样分三个表,但是我会按时间分成多个表,比如每个月,或每年,用得最频繁的是本月的数据,用不到的数据只是放在那里并不参与运算,这样分开后数据量少了,自然就快了,但是要查询以前的资料也查得到,只是在日期的判断上做点工夫   我公司哟个在586服务器上的系统,一直到现在,大概有8年的数据,到现在还十分顺畅(查询到历史数据就慢一点,但是毕竟少用历史数据),主要原因就是原开发者,把数据按月分成若干个不同的表
        去年更新系统,用了个IBM的服务器,不知道比8年前的586强了多少倍,但是半年的数据服务器就跑不动了,主要原因就是大量的数据放在一个表里面,这个升级就基本上算是失败的了,而老的服务器,还一样跑得欢,这就看得出熟是熟非了
      

  5.   


    1、速度比较快的 SQL语句
    只是插入和删除,并不存在sql优化的问题。
    但由于你是多表,至少要执行两次操作2、这3个表的前缀(或字段)是相同的好 还是不同的好
    字段名应该相同,而表名不可能不同根据你的描述,并不需要设置三张表,只需一张就够了
    当然需要用一个字段表示处理的进度
      

  6.   

    同意 hbcb(青蛙王子) ( )