假设您有一个名为slug
的JSON列,其结构如下:
{
"en_US": "slug",
"nl_NL": "nl/different-slug"
}
可以通过在表中添加指向en_US
和nl_NL
的值的生成列来建立索引。效果很好,但是添加第三个语言环境将需要更新表架构。
是否可以让MySQL自动为JSON中的所有键值对建立索引,而无需在架构中明确定义它们?
答案 0 :(得分:1)
如json data type上的mysql手册所述:
JSON列与其他二进制类型的列一样,不会直接建立索引;相反,您可以在生成的列上创建索引,该索引从JSON列提取标量值。有关详细示例,请参见索引生成的列以提供JSON列索引。
因此,答案是否定的,mysql无法自动索引json列的内容。您需要定义和索引生成的列。