收藏
回答

请问小程序云数据库索引是怎么使用的?

这里配置好索引名字后,云函数就自动使用了吗?

因为数据查询很慢,所以想优化一下查询语句,为每个查询字段都配置了索引,但配置好索引后,真不知道怎么使用索引了。百度了一个下午,没有一个文章说小程序云数据库索引怎么使用。小程序索引文档也没有具体说怎么使用。

附上查询的核心语句:

 const res = await db.collection('hotelInfo').where(

      _.or([{

          timeid: _.in(event.hotelCodeForManage)

        },

        {

          _openid: openid

        }

      ])

    ).get()

另外单字段索引 和 组合索引又怎么使用?

请各位知道的大佬指点一下,万分感谢。

回答关注问题邀请回答
收藏

2 个回答

  • 1心1意
    1心1意
    2023-12-05

    两个问题求教:

    1.怎么实现在集合内指定的位置插入一条记录呢?而不是在默认的最后一条添加。

    2.数据库集合里的记录的索引是无序的代码,如何为每条记录添加一个默认的从0开始的有序的索引呢?就像小程序端的数组索引一样。


    2023-12-05
    有用
    回复
  • 当乙醇爱上了铜
    当乙醇爱上了铜
    2021-04-14

    你这个地方建议使用组合索引:建立个索引包含  _openid 和 timeid,参考文档:

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/

    2021-04-14
    有用
    回复 4
    • 大奥歌
      大奥歌
      2021-04-15
      这个文件没看懂呀 就是不知道怎么建立组合索引?在这方便,我是小白呀
      2021-04-15
      回复
    • 大奥歌
      大奥歌
      2021-04-15回复大奥歌
      是否像截图那样就是建立组合索引了?
      2021-04-15
      回复
    • 当乙醇爱上了铜
      当乙醇爱上了铜
      2021-04-15回复大奥歌
      因为你有openid的索引了,那就把timeid放前面吧。索引建立后相当于按照timeid把数据库所有记录排了个序,然后再按照openid排序。你建立好索引,云函数查询的时候会自动使用的,你可以看一下命中次数,上面有显示。(Hit count)
      文档说开发者工具会自动检测数据库请求的索引使用情况,不是最优的会告警。如果查询还是很慢就考虑优化查询语句之类的了。
      2021-04-15
      回复
    • 大奥歌
      大奥歌
      2021-04-15回复当乙醇爱上了铜
      哦,原来能自动使用,谢谢,我已经明白了。另外这里建立组合索引,貌似不适用,亲自测试过命中为0。估计组合索引是只适合条件为and的情况,我这里是or,应该是这个原因导致命中为0
      2021-04-15
      回复
登录 后发表内容
问题标签