sql - 在数据库中搜索 UPC 代码的最佳方法是什么?

标签 sql performance optimization barcode

我有一个包含 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/

相关文章:

javascript - HTML 验证和加载时间

javascript - 是否有可能比使用平方距离算法更快地测试两个圆的交点?

sql - T-SQL 递归查询 - 如何做?

python - 解决此示例的更有效方法?

c++ - 什么时候静态调用虚函数?

python - 使用 Python 优化数组之间的 bool 比较

java - Java 中的PreparedStatement,带有数据库和列名变量

mysql - 使用多个 "OR"语句减少 MySQL 查询

c# - 如何从 SQL Server 模式在 C# 中生成类?

python - Python 中列表函数的成本