V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
Vesc
V2EX  ›  MySQL

各位 Mysql 大佬,问一个 8.0 版本 json 的问题

  •  
  •   Vesc · 1 天前 · 642 次点击
    为啥编辑老是提示拦截
    第 1 条附言  ·  20 小时 29 分钟前

    有一个 json 字段假设为 attr 字段,内容为:

    {
    "a_key":"xxx",
    "b_key":[1,2,3]
    }
    

    目前我对 json 字段可以用官方文档的多值索引,

    多值索引可以使用 JSON_CONTAINS 查询,并且命中索引,我现在想对 a_key 做查询,在不使用虚拟列的情况下如何做索引呢?

    5 条回复    2025-01-09 11:53:55 +08:00
    esee
        1
    esee  
       1 天前
    拦截?你的格式不对吧.不是标准的 json 格式
    Vesc
        2
    Vesc  
    OP
       1 天前
    有一个 json 字段假设为 attr 字段,内容为:
    ```
    {
    "a_key":"xxx",
    "b_key":[1,2,3]
    }
    ```
    目前我对 json 字段可以用官方文档的多值索引,

    多值索引可以使用 JSON_CONTAINS 查询,并且命中索引,我现在想对 a_key 做查询,在不使用虚拟列的情况下如何做索引呢?
    Vesc
        3
    Vesc  
    OP
       1 天前
    没选 markdown
    Vesc
        4
    Vesc  
    OP
       1 天前
    为啥建索引的 sql 也没法发出来
    bzj
        5
    bzj  
       17 小时 49 分钟前
    多值索引只针对 json 数组,键值对用前缀索引就行了

    CREATE INDEX idx_attr_a_key ON table ((attr->>'$.a_key'));
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1014 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:43 · PVG 05:43 · LAX 13:43 · JFK 16:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.