DB2 varchar索引连接
问题描述:
对于DB2 ...DB2 varchar索引连接
table1.a是varchar(30)并且有一个索引。 table2.b是varchar(45)并且有一个索引。
将table1.a = table2.b
使用table1,table2或两者上的索引吗?我想问,因为我相信sybase,这只会使用其中一个索引(我不确定哪一个)。
我完全打算测试一下,但我目前无法。
答
在您的查询中使用EXPLAIN来确定它正在使用的索引。欲了解更多信息,请点击此链接:
答
这是我在DB2 for Z上的经验,因为数据类型必须完全相同 - 列的数据类型,精度,比例和可空性必须与连接匹配才能使用。
见http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db29.doc.perf /db2z_stage1and2predicates.htm了解更多细节,但您真正需要的是阶段1谓词,因为这些可用于驱动访问(转到正确的行)而不是筛选(找到所有可能行中的正确行)。 – 2010-02-15 06:19:43