首页 > 代码库 > 是否使用绷定变量的一些建议
是否使用绷定变量的一些建议
1、建议使用绑定变量的列:对于流水号、订单号、用户ID、电话号码、身份证
号码、证件号码等,这类列的特点是列的唯一性较好、列的不同值数量跟表的
数据量比较接近,而这类列涉及的SQL语句往往存在高并发,写成绑定变量会
大大减少数据库的解析成本。
号码、证件号码等,这类列的特点是列的唯一性较好、列的不同值数量跟表的
数据量比较接近,而这类列涉及的SQL语句往往存在高并发,写成绑定变量会
大大减少数据库的解析成本。
2、不建议使用绑定变量的列:能够枚举的列(比如状态类型字段,这部分类型
字段往往不同值较少,一般即使上千万的数据表中该列也只有十多个、几十个
的不同值), 即使不写绑定变量也只会产生极少数的SQL_id,这部分的oracle
解析消耗微乎其微,并且这种类型的列有可能存在倾斜数据,而如果使用绑定
变量,则对于倾斜数据的评估并不准确,可能导致该列无法走索引范围扫描、
或者影响表JOIN阶段驱动表的选择等。
字段往往不同值较少,一般即使上千万的数据表中该列也只有十多个、几十个
的不同值), 即使不写绑定变量也只会产生极少数的SQL_id,这部分的oracle
解析消耗微乎其微,并且这种类型的列有可能存在倾斜数据,而如果使用绑定
变量,则对于倾斜数据的评估并不准确,可能导致该列无法走索引范围扫描、
或者影响表JOIN阶段驱动表的选择等。
是否使用绷定变量的一些建议
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。