加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

针对大数据量查询效率的经验

发布时间:2020-12-12 14:48:29 所属栏目:MsSql教程 来源:网络整理
导读:背景: 数据库:sqlserver2008 表:user_label 数据量126444016条记录 字段名称 ? ? 属性 user_id ? ??char(32) ? ? ? ?用户ID type_id ? ? ?int ? ? ? ? ? ?游戏类型 level_id ? ? ??smallint ? ? ? 游戏等级 需求: 根据用户ID查询用户所对应的游戏类型和

背景:

数据库:sqlserver2008

表:user_label 数据量126444016条记录

字段名称 ? ? 属性

user_id ? ??char(32) ? ? ? ?用户ID

type_id ? ? ?int ? ? ? ? ? ?游戏类型

level_id ? ? ??smallint ? ? ? 游戏等级

需求:

根据用户ID查询用户所对应的游戏类型和游戏等级


实现方案1:

select ??* ???from ??user_label ??where ??user_id = #value#

实现方案2:

select ??* ???from ??user_label ??where ??user_id = ?convert(char(32),#value#)


结果:

方案1的sql通过预编译在数据库中的执行时间花费17秒,cpu消耗比较高。

方案2的sql通过预编译在数据库中的执行时间花费不到1秒,cpu基本上没怎么消耗。


分析总结:

传进去的字符串在sqlserver中转化成char(32)消耗的cpu,花费时间比较久。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读