创建联合索引时字段顺序问题

DB2中关于联合索引的创建,多个字段的先后顺序有什么建议吗?是把数据区分度高的放前面还是区分度低的放前面?

参与13

7同行回答

icycastleicycastle课题专家组数据库管理员某证券公司
多谢解答。显示全部

多谢解答。

收起
证券 · 2017-06-02
浏览2744
andy_zhanglmandy_zhanglm其它IBM

一样

收起
软件开发 · 2017-06-02
浏览2776
andy_zhanglmandy_zhanglm其它IBM
针对这个SQL(查询条件中包含了账期和账户ID), 索引中账期和账户ID哪个放前面都没问题显示全部

针对这个SQL(查询条件中包含了账期和账户ID), 索引中账期和账户ID哪个放前面都没问题

收起
软件开发 · 2017-06-02
浏览2825
icycastleicycastle课题专家组数据库管理员某证券公司
统计信息都是最新的,查询条件中包含了账期和账户ID,就针对这个SQL语句不确定账期和账户ID哪个放前面比较好显示全部

统计信息都是最新的,查询条件中包含了账期和账户ID,就针对这个SQL语句不确定账期和账户ID哪个放前面比较好

收起
证券 · 2017-06-02
浏览2867
andy_zhanglmandy_zhanglm其它IBM
如果查询条件中\"账期,账户ID\"都出现, 上面db2advis建议的索引没问题, 如果条件中只有\"账户ID\", 上面的索引效率就有问题显示全部

如果查询条件中\"账期,账户ID\"都出现, 上面db2advis建议的索引没问题, 如果条件中只有\"账户ID\", 上面的索引效率就有问题

收起
软件开发 · 2017-06-02
浏览2757
andy_zhanglmandy_zhanglm其它IBM
db2advis只考虑你给它的SQL语句, 不一定全面, 针对你给的语句它给出的建议应该没问题, 另外注意一下运行db2advis之前,统计信息是否有收集显示全部

db2advis只考虑你给它的SQL语句, 不一定全面, 针对你给的语句它给出的建议应该没问题, 另外注意一下运行db2advis之前,统计信息是否有收集

收起
软件开发 · 2017-06-02
浏览2793
andy_zhanglmandy_zhanglm其它IBM
关键看查询条件,如果条件中包括所有在索引中的字段,区分度高低的字段前后位置没有太大关系,复合索引最好用区分度高的字段做第一字段,这样可以迅速缩小索引的搜索范围,当然你的查询条件中要包含这个字段才有效。...显示全部

关键看查询条件,如果条件中包括所有在索引中的字段,区分度高低的字段前后位置没有太大关系,复合索引最好用区分度高的字段做第一字段,这样可以迅速缩小索引的搜索范围,当然你的查询条件中要包含这个字段才有效。

收起
软件开发 · 2017-06-02
浏览2797
  • 使用db2advis工具产生索引建议,给出的是区分度低的字段排在了前面,不知道是否合理?
    2017-06-02
  • 我的表有6亿行记录,字段1是账户ID,每个账户ID表中有几万条记录,字段2是账期,表中就12个值,比如201701,201702...这种情况下db2advis推荐的索引是(账期,账户ID)
    2017-06-02

提问者

icycastle
数据库管理员某证券公司

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-06-01
  • 关注会员:3 人
  • 问题浏览:7607
  • 最近回答:2017-06-02
  • X社区推广