我有一个 12 位 UPC-A 格式条码的 UPC 数据库(1,900,000 条记录)。目前,由于前导零,它们存储为 varchar(13)。我正在使用 SQL Server 2008 R2。

我还有一个 WCF 4.0 API 方法,它可以根据 UPC-A 条形码匹配来查询数据库。

  • 提高基于 UPC 的查询性能的最佳方法是什么
  • 存储 12 位 UPC-A 条码的最佳方式是什么。我假设使用 varchar(12) 好吗?

  • 编辑:更多信息

    产品
  • 产品 ID (int)
  • 条码 (varchar(12))
  • 名称 (varchar(50))
  • ImageUrl (varchar(255))

  • 我的代码:
    public JsonResult GetProductByCode(string code)
    {
      DBEntities db = new DBEntities;
    
      Product product = (from prod in db.Products
                        where prod.Barcode == code
                        select prod).FirstOrDefault();
    
      return Json( product , JsonRequestBehavior.AllowGet );
    }
    

    最佳答案

    我将条码列上的索引作为给定。

    如果将代码存储为数字,则可以节省空间。空间就是时间,因为可以更快地读取更少的字节。此外,查找数字应该更快。由于 UPC-A 是固定长度的代码,因此可以在需要时重建前导零。

    关于sql - 在数据库中搜索 UPC 代码的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8331958/

    10-11 15:21