Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要在mysql中使用json数据的索引列_Mysql_Json_Indexing - Fatal编程技术网

我需要在mysql中使用json数据的索引列

我需要在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:”

我的数据库是MySQL,我发现没有JSON类型,只有文本。但在我的情况下,我需要存储JSON含义的数据,并在JSON数据的哈希键上使用索引。所以“文本”类型不是正确的方式。顺便说一下,我不能将JSON数据分成不同的列,因为我不知道JSON中的键是什么

我真正需要的是一个解决方案,在MySQL中使用索引或其他方法通过JSON键搜索JSON数据,这样搜索速度会很快并且可以接受。

选择concat'{objects\:[' ,选择group_concat concat“{id:”,id',field:”,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数据的解决方案,所以搜索速度可能会很快,也很容易接受。但还是很感谢你的好意。