我有这个 SQL 查询:
SELECT players.*,
CAST(
SUBSTRING_INDEX(
SUBSTRING_INDEX(achievements, '"globalID":23000062', 1),
'"value":',
-1
)
AS UNSIGNED) AS json_extracted_value
FROM players
WHERE INSTR(achievements, '"globalID":23000062') > 0
成就栏的最合理索引是什么?它是普通索引还是全文索引?现在查询大约需要 1 分钟才能完成。我希望它能在几秒钟内完成。
还有我可以使用的另一个更简单的查询吗?如果不是,那么什么指数最好?
谢谢!
最佳答案
升级...
MySQL 5.7 可以索引 JSON 列字段。
MariaDB 10 的“动态列”具有类似的功能。
关于JSON 的 MySql 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33582899/