[英]Export blob column from mysql dB to disk and replace it with new file name
所以我正在研究一个遗留数据库,不幸的是数据库的性能非常慢。 在少于 10000 条记录的表中,简单的 select 查询最多可能需要 10 秒。
所以我试图调查问题并发现删除他们用来存储文件(主要是视频和图像)的列可以解决问题并大大提高性能。
除了添加适当的索引外,我还能够运行与过去需要 10-15 秒才能在 1 秒内运行的完全相同的查询。
所以我的问题是。 是否有任何现有的工具或脚本可以用来帮助我从数据库中导出这些 blob(视频)并将其保存到磁盘并使用文件系统上的新文件名/路径更新行?
如果没有,是否有任何适当的方法来优化数据库,以便这些 blob 不会对性能产生太大影响?
提示使用此数据库的某些客户端使用高级 orms,因此我们对 orm 用于获取行及其关系的查询没有太多控制。 所以我不能直接优化查询。
SELECT column FROM table1 WHERE id = 1 INTO DUMPFILE 'name.png';
这条路怎么样?
这些也是INTO_OUTFILE
而不是INTO_DUMPFILE
13.2.10.1 SELECT... INTO 语句 SELECT... INTO 形式的 SELECT 可以将查询结果存储在变量中或写入文件:
SELECT... INTO var_list 选择列值并将它们存储到变量中。
SELECT... INTO OUTFILE 将选定的行写入文件。 可以指定列和行终止符以生成特定的 output 格式。
SELECT... INTO DUMPFILE 在没有任何格式的情况下将单行写入文件。
链接: https://dev.mysql.com/doc/refman/8.0/en/select-into.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.