Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.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
如何在blob列mysql上建立索引_Mysql_Performance_Indexing - Fatal编程技术网

如何在blob列mysql上建立索引

如何在blob列mysql上建立索引,mysql,performance,indexing,Mysql,Performance,Indexing,我有一个表,它有三列id、copyId和reference id是主键,int(11) copyId为varchar(255) 这是一个中等大小的斑点 在引用列中,我正在josn数组中保存链接 像这样 array('http://example1.com/id','http://example2.com/id','http://example3.com/id','http://example4.com/id'); 将上面的数组转换为json_encode并保存到引用列中 我的所有查询在引用列链

我有一个表,它有三列id、copyId和reference

id是主键,int(11)

copyId为varchar(255)

这是一个中等大小的斑点

在引用列中,我正在josn数组中保存链接

像这样

array('http://example1.com/id','http://example2.com/id','http://example3.com/id','http://example4.com/id');
将上面的数组转换为json_encode并保存到引用列中

我的所有查询在引用列链接中搜索id,我在数据库中有大量负载我认为我的此表需要大量负载此表有大约160000个记录,每个blob都有500个以上链接当我进行研究时,我发现索引非常适合检索数据

我希望你们能帮助我建立blob索引,并给我一些建议,我应该做些什么来提高这个表的性能,我正在使用phpmyadmin进行索引,请不要告诉我查询,告诉我应该在引用列上应用什么索引

1)指数 2) 全文 3) 初级的 4) 空间的 5) 独特的

我没有使用id列,它是主键,我想我应该删除这个列,这是提高性能的好主意

请建议我如何提高mysql的性能
谢谢

您使用的是什么MySQL版本?因为MySQL 5.7.8+支持原生JSON数据类型。最有可能希望规范化此表以进行优化和查询。如果你不想规范化这个表,你最好的选择是全文索引,但是你仍然会在内部临时表的BLOB数据类型上遇到问题,因为MYSQL需要创建一个基于磁盘的临时表。什么会减慢服务器的读取速度?出于某种原因,你会在引用中存储多个链接吗?表中有多个copyId行,数组中的每个url对应一行。但是索引取决于您将在此表上运行的查询。您搜索copyId并检索referrall?您在引用中搜索url并想要copyId值?是,我在referel url中搜索url id以获取copyId和referel url可能的重复项