如果一个列定义为一个小整数,那么与它比较的宿主变量也应当声明为相同的定义(例如COBOL中声明为S9(4) comp)。这在DB2 V8和V9中已经有显著改进,在这两个版本中,DB2会更高效地处理进行比较的不同数值数据类型和不同字符串。DB2中可定义的数据类型并非在所有开发语言中都可用,在过去这会带来一些问题。不过从一般经验来看,将数据类型声明为与列定义匹配,可以确保最高的性能和最大程度的优化。例如,如果一个列定义为整数数据类型,那么谓词中包含比较值的宿主变量也应该定义为整数(而不是小整数、小数、浮点数,等等)。
COBOL程序员应当尽可能利用已创建的DCLGEN宿主变量来确保完全匹配。DCLGEN表示声明生成器(Declarations Generator),这是COBOL以及很多其他语言生成DB2 SQL数据结构的一个便利工具。对于COBOL,它会生成一个表声明(EXEC SQL DECLARE TABLE),另外会生成对应表中各列的宿主变量的COBOL定义。