以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]收银软件里,商品条码你们用Long类型存13位条码还是字符串存?我特意比较110万行商品库的sql性能,发现有趣的事情····  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99347)

--  作者:chen3728060
--  发布时间:2017/4/17 18:38:00
--  [讨论]收银软件里,商品条码你们用Long类型存13位条码还是字符串存?我特意比较110万行商品库的sql性能,发现有趣的事情····


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

测试环境,sql2000,110万行数据库。循环测试10次查询。

分别对字符串类型的barcode和integer类型的_identify查询

 

在90%的情况下,都是数字类型的匹配速度远胜字符串

 

唯独1个情况!就是超大数字,在找不到这个行的情况下,性能落后非常严重。

国家的条码都是13位数字的,如果用数字型存储,例如69xxxx,就是6兆9千亿xxxx。很恐怖啊


--  作者:有点色
--  发布时间:2017/4/17 20:58:00
--  

如果条件一样,数字和字符的速度是应该差不多一样的。出现那个差异原因,应该是因为你_Identify是主键列。

 

如果需要查询快速的话,你可以给表字段加索引。