我需要在mysql中使用json数据的索引列
我的数据库是MySQL,我发现没有JSON类型,只有文本。但在我的情况下,我需要存储JSON含义的数据,并在JSON数据的哈希键上使用索引。所以“文本”类型不是正确的方式。顺便说一下,我不能将JSON数据分成不同的列,因为我不知道JSON中的键是什么 我真正需要的是一个解决方案,在MySQL中使用索引或其他方法通过JSON键搜索JSON数据,这样搜索速度会很快并且可以接受。选择concat'{objects\:[' ,选择group_concat concat“{id:”,id',field:”,field,'}分隔符',' 从占位符 ,']}';我需要在mysql中使用json数据的索引列,mysql,json,indexing,Mysql,Json,Indexing,我的数据库是MySQL,我发现没有JSON类型,只有文本。但在我的情况下,我需要存储JSON含义的数据,并在JSON数据的哈希键上使用索引。所以“文本”类型不是正确的方式。顺便说一下,我不能将JSON数据分成不同的列,因为我不知道JSON中的键是什么 我真正需要的是一个解决方案,在MySQL中使用索引或其他方法通过JSON键搜索JSON数据,这样搜索速度会很快并且可以接受。选择concat'{objects\:[' ,选择group_concat concat“{id:”,id',field:”
任何更通用的方法都需要动态sql,我认为您的情况需要使用动态sql。你基本上需要做一个未知数量的文本搜索——用一个文本片段——针——来搜索草堆。你需要它快速,因为索引是不可能的 MySQL有一个鲜为人知或很少被使用的功能,您可以通过它来创建。函数本身是一个存储过程,为了额外的速度,它可以用C++编译。UDF在查询中本机使用,就好像它们是常规MySQL语法的一部分一样 下面是在MySQL中实现的详细信息 一个示例查询可能是
SELECT json FROM my_table WHERE levenshtein('needle') < 5;
5表示“编辑距离”,实际上允许定位近匹配项。如果无法将数据标准化为RDBMS可读格式,则不应使用MySQL noSQL数据库可能是更好的方法。 MySQLs的优势在于处理关系数据
您试图通过圆孔安装方形物体:请不要在帖子上签名。这就是你的名字和名声的徽章。除非您的斜体语句实际上是问题的一部分,否则我们无法帮助您。您可以发布一个格式化的JSON示例吗?或者您可以使用PostgreSQL 9.4当前的RC1,它们支持JSONB数据的GIN:3我真正需要的是一个通过JSON键使用索引或其他方法搜索JSON数据的解决方案,所以搜索速度可能会很快,也很容易接受。但还是很感谢你的好意。