Можно ли индексировать MySQL JSON столбцы в версии 8.0.19? - PullRequest
0 голосов
/ 03 февраля 2020

Согласно этой веб-странице, столбцы MySQL JSON не могут быть проиндексированы.

MySQL Блог сервера

"JSON столбцы не могут быть проиндексированы. Вы можете обойти это ограничение, создав индекс для сгенерированного столбца, который извлекает скаляр значение из столбца JSON. "

Может кто-нибудь сказать мне, если это изменится в последней MySQL версии сообщества 8.0.19?

Что даст мне лучшую производительность? Индекс для сгенерированного столбца или дубликат (не столбец JSON с тем же текстом, что и в столбце JSON) с обычным полнотекстовым поиском?

Ответы [ 2 ]

3 голосов
/ 03 февраля 2020

Это все еще так, из документации :

JSON столбцы, как и столбцы других двоичных типов, не индексируются напрямую; вместо этого вы можете создать индекс для сгенерированного столбца, который извлекает скалярное значение из столбца JSON. См. Подробное описание в разделе Индексирование сгенерированного столбца для предоставления индекса столбца JSON.

и здесь также:

Индексирование сгенерированного столбца для предоставления JSON индекса столбца Как уже отмечалось, JSON столбцы не могут быть проиндексированы напрямую.

0 голосов
/ 18 февраля 2020

JSON - это удобный способ хранения произвольной информации в таблице базы данных. Если вы будете регулярно использовать компоненты из JSON в операциях СУБД, таких как индексация, то вам следует извлечь их из JSON (или скопировать их).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...