Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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在表中的读/写速度非常慢,因为blob列很长_Mysql_Database_Performance_Blob - Fatal编程技术网

MySQL在表中的读/写速度非常慢,因为blob列很长

MySQL在表中的读/写速度非常慢,因为blob列很长,mysql,database,performance,blob,Mysql,Database,Performance,Blob,在my DB中,一个表包含20个长blob列(列不能在另一个表中移动),每行包含大约0.55 MB的数据大小。我在那个表上创建了索引,但这并没有提高性能。我们需要在这个表中存储100多万条记录,所以我计划对这个表进行分区。 我的问题是分区是否会提高性能(读/写) 有人能帮我改进吗?如果有其他改进方法,请提出建议。试着将BLOB拆分成一个单独的表 例如,可以有一个包含列id和名称的表table1,以及另一个包含列id和数据的表table2。如果只需要名称,则根本不需要查询table2表;如果同时需

在my DB中,一个表包含20个长blob列(列不能在另一个表中移动),每行包含大约0.55 MB的数据大小。我在那个表上创建了索引,但这并没有提高性能。我们需要在这个表中存储100多万条记录,所以我计划对这个表进行分区。 我的问题是分区是否会提高性能(读/写)


有人能帮我改进吗?如果有其他改进方法,请提出建议。

试着将BLOB拆分成一个单独的表

例如,可以有一个包含列id和名称的表table1,以及另一个包含列id和数据的表table2。如果只需要名称,则根本不需要查询table2表;如果同时需要名称和数据,可以使用共享主键id将表连接在一起:

SELECT id, name, data
FROM table1 JOIN table2 USING (id)
WHERE id = ...

尝试将blob拆分为一个单独的表

例如,可以有一个包含列id和名称的表table1,以及另一个包含列id和数据的表table2。如果只需要名称,则根本不需要查询table2表;如果同时需要名称和数据,可以使用共享主键id将表连接在一起:

SELECT id, name, data
FROM table1 JOIN table2 USING (id)
WHERE id = ...

谢谢Virendra,但我已经提到所有列都应该在一个表中。我们的应用程序也将支持sql server。如果我们将该表拆分为多个表,那么我们需要在后端做大量工作。您是否可以建议任何其他流程来提高性能为什么要对图像或其他内容使用blob我们正在以加密格式将用户指纹存储在该列中,以保护信息不受外部影响。(10-FP,10-FP模板)指纹图像只能存储在数据库中的某个文件夹中,并带有指针。更多信息请参见此。我希望能解决您的问题。谢谢Virendra,但我已经提到所有列都应该在一个表中。我们的应用程序也将支持sql server。如果我们将该表拆分为多个表,那么我们需要在后端做大量工作。您是否可以建议任何其他流程来提高性能为什么要对图像或其他内容使用blob我们正在以加密格式将用户指纹存储在该列中,以保护信息不受外部影响。(10-FP,10-FP模板)指纹图像只能存储在数据库中的某个文件夹中,并带有指针。更多信息请参见此。我希望能解决您的问题。让我们看看
显示创建表
选择
。通过这些,我们可以更好地回答您关于性能和分区的问题。通过这些,我们可以更好地回答您关于性能和分区的问题。