请教大家一个问题:
产品表中大概有几十万个产品的编号,现在要检查输入编号的产品是否已经出库的话,该怎么检索呢?
-----------------------------------------
我想到的方法:
1、在检索之前把所有的编号和是否出库标记选出,然后在输入后马上做出判断;
2、根据输入的编号直接去数据库查询;环境:C/S,并发操作数据库的人数不会太多,数据库MS SQLSERVER,产品表中ID是主键,但是编号不是(需要把编号设置成索引吗?编号长度为15位数字或字母)
请问这2个方法哪个能快点呢?
哪位有更好的方法请指教~~~,谢谢了~

解决方案 »

  1.   

    新增一個table為出庫表,把出庫表的資料存到該表.資料量就不會這麼大.再合理搭配index.
    效率不會有問題
      

  2.   

    建议做成嵌套子查询,子查询查出出库数据,再在子集里查找所要编号的数据。
    select * 
    from 
           ( 
             select * 
             from   inventory 
             where  shipFlag = '1' 
           ) R 
    where    R.SequenceId = 'xxxxxx'
      

  3.   

    几十万个产品的编号SQLSERVER应该没问题的,检查一下硬件配置,网络传输速度,和你的代码。