DB2中关于联合索引的创建,多个字段的先后顺序有什么建议吗?是把数据区分度高的放前面还是区分度低的放前面?
多谢解答。
一样
针对这个SQL(查询条件中包含了账期和账户ID), 索引中账期和账户ID哪个放前面都没问题
统计信息都是最新的,查询条件中包含了账期和账户ID,就针对这个SQL语句不确定账期和账户ID哪个放前面比较好
如果查询条件中\"账期,账户ID\"都出现, 上面db2advis建议的索引没问题, 如果条件中只有\"账户ID\", 上面的索引效率就有问题
db2advis只考虑你给它的SQL语句, 不一定全面, 针对你给的语句它给出的建议应该没问题, 另外注意一下运行db2advis之前,统计信息是否有收集
关键看查询条件,如果条件中包括所有在索引中的字段,区分度高低的字段前后位置没有太大关系,复合索引最好用区分度高的字段做第一字段,这样可以迅速缩小索引的搜索范围,当然你的查询条件中要包含这个字段才有效。
关于TWT使用指南社区专家合作厂商入驻社区企业招聘投诉建议版权与免责声明联系我们 © 2024talkwithtrend — talk with trend,talk with technologist京ICP备09031017号-30