我有一个比较复杂的视图,可以选择一堆物品及其剩余库存量。我想将结果集缩小到符合模式的项目代码,以便过滤掉不需要的项目。
我要包含的商品代码的格式为4位数字,后跟一个连字符,再加上另一个4位数字
function someFilterFunction(entry) {
return !entry.untracked;
}
myMapOfStuff = myMapOfStuff.filter(someFilterFunction);
我还希望包含格式为13位数字(ISBN以978开头)的项目编号,后跟一个连字符,再另一个两位数字。
1234-0001
最初,我计划使用以下代码,该代码将与所有包含连字符的商品代码匹配。
9781234567890-01
不幸的是,并非我们所有的商品代码都是统一的,人们偶尔在不符合上面两种公认格式的商品中使用连字符,因此我切换到以下内容。
SELECT *
FROM Vw_Stock
WHERE ItemCode LIKE '%-%'
查询最初花费1秒,现在大约花费3分50秒。为什么要花这么长时间?对我来说,有没有一种更有效的方法来查询所标识的商品格式?