Foxtable(狐表)用户栏目专家坐堂 → [讨论]收银软件里,商品条码你们用Long类型存13位条码还是字符串存?我特意比较110万行商品库的sql性能,发现有趣的事情····


  共有1829人关注过本帖树形打印复制链接

主题:[讨论]收银软件里,商品条码你们用Long类型存13位条码还是字符串存?我特意比较110万行商品库的sql性能,发现有趣的事情····

帅哥哟,离线,有人找我吗?
chen3728060
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
[讨论]收银软件里,商品条码你们用Long类型存13位条码还是字符串存?我特意比较110万行商品库的sql性能,发现有趣的事情····  发帖心情 Post By:2017/4/17 18:38:00 [只看该作者]


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

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

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

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

 

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

 

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/17 20:58:00 [只看该作者]

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

 

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


 回到顶部