首页 > 代码库 > 是否使用绷定变量的一些建议

是否使用绷定变量的一些建议

 1、建议使用绑定变量的列:对于流水号、订单号、用户ID、电话号码、身份证
号码、证件号码等,这类列的特点是列的唯一性较好、列的不同值数量跟表的
数据量比较接近,而这类列涉及的SQL语句往往存在高并发,写成绑定变量会
大大减少数据库的解析成本。 
 
 2、不建议使用绑定变量的列:能够枚举的列(比如状态类型字段,这部分类型
字段往往不同值较少,一般即使上千万的数据表中该列也只有十多个、几十个
的不同值), 即使不写绑定变量也只会产生极少数的SQL_id,这部分的oracle
解析消耗微乎其微,并且这种类型的列有可能存在倾斜数据,而如果使用绑定
变量,则对于倾斜数据的评估并不准确,可能导致该列无法走索引范围扫描、
或者影响表JOIN阶段驱动表的选择等。 

是否使用绷定变量的一些建议