开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

如果我还有第三个字段要设置索引,这个时候你建议怎么做?

如果我还有第三个字段要设置索引,这个时候你建议怎么做

展开
收起
雪哥哥 2022-10-29 23:03:39 801 0
6 条回答
写回答
取消 提交回答
  • 从事java行业9年至今,热爱技术,热爱以博文记录日常工作,csdn博主,座右铭是:让技术不再枯燥,让每一位技术人爱上技术

    建议创建关联索引,比如对a,b,c三个字段创建索引(a,b,c)那么根据索引的最左匹配原则,当前索引可以匹配(a,b)但是不会匹配(b,c),索引也不是越多越好,太多的索引并不一定会提高效率,比如在使用Proxima向量查询时,为表设置了两个Proxima向量索引,查询时性能较设置一个索引时更差,设置索引的DDL示例如下。 call set_table_property ('t1', 'proxima_vectors', ' {"f2":{"algorithm":"Graph","distance_method":"InnerProduct"}}, {"f3":{"algorithm":"Graph","distance_method":"InnerProduct"}} '); 另外关于表结构的更多内容可以参考文档:https://help.aliyun.com/document_detail/160754.html

    2022-11-27 17:22:37
    赞同 展开评论 打赏
    • 可以建立复合索引(c1,c2,c3),实际上相当于建立了(c1),(c1,c2),(c1,c2,c3)三个索引。对于大表来说,可以极大减少开销。
    • 单表最好不要超过1个复合索引,单个复合索引最好不超过3个字段。一旦超过,就需要考虑必要性和是否有其他替代方案。
    • 复合索引遵从最左匹配原则,顾名思义,在组合索引中,最左侧的字段优先匹配。
    2022-11-26 08:05:55
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    那就要看你这个第三个字段索引想要什么样的优先级,最终肯定是设置成组合索引的,看就要看你这个字段索引的优先级。

    2022-11-24 14:42:54
    赞同 展开评论 打赏
  • 码中自由一片天地。。。

    换成联合索引来实现

    2022-11-24 12:23:31
    赞同 展开评论 打赏
  • coder at work

    是否组合索引可以满足需求, 或者使用 ADS 一类的服务, 所有字段都有索引

    2022-11-24 10:05:53
    赞同 展开评论 打赏
  • 网站:http://ixiancheng.cn/ 微信订阅号:小马哥学JAVA

    正常的情况下一个表里面有两个索引就能满足搜索的需求,如果还要第三个字段要设置索引的话,建议使用组合索引的方式进行处理

    2022-11-22 19:49:02
    赞同 展开评论 打赏
滑动查看更多

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关电子书

更多
RowKey与索引设计:技巧与案例分析 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载