我有一个包含 12 位 UPC-A 格式条码(1,900,000 条记录)的 UPC 数据库。由于前导零,目前它们存储为 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/