sql - PostgreSQL 查询优化 musicbrainz
问题描述
嗨,我有这个 postgresql 代码,我想优化它以使用更少的临时磁盘空间:
SELECT l1.name, l2.name
FROM label l1 INNER JOIN label l2 ON l1.id > l2.id INNER JOIN
label l3 ON l1.id <> l3.id AND l2.id <> l3.id
WHERE NOT EXISTS (SELECT * FROM release_label rl1 INNER JOIN release_label rl2 ON rl1.release = rl2.release WHERE rl1.label = l1.id AND rl2.label = l2.id) AND
EXISTS (SELECT * FROM release_label rl1 INNER JOIN release_label rl3 ON rl1.release = rl3.release WHERE rl1.label = l1.id AND rl3.label = l3.id) AND
EXISTS (SELECT * FROM release_label rl2 INNER JOIN release_label rl3 ON rl2.release = rl3.release WHERE rl2.label = l2.id AND rl3.label = l3.id)`
我使用的数据库是 musicbrainz 但它给了我这个错误:
“无法写入临时文件的块 1973434:设备上没有剩余空间”
我有一个简化版的 musicbrainz 数据库,它的行数更少,而且运行良好,请帮我找到优化此代码的方法,干杯
解决方案
推荐阅读
- intellij-idea - 使用 CLion 将文件夹作为项目打开
- php - 更新和重新生成 wordpress 多站点的缩略图
- generics - Kotlin 反映/解析通用模板参数的原始类型
- c++ - 如何仅更改一台显示器的分辨率
- azure-data-factory - 从 Azure 数据工厂中的 api 读取时间戳数据的问题
- c# - 将子游戏对象添加到数组中?
- java - 我无法在我的应用程序上显示我下载的图像
- php - 有没有办法在 PHP 中分隔“ucwords()”,这样第一个字符不会自动大写?
- java - 有什么方法可以最小化 Selenium 中的 chrome 窗口?
- profiling - 测量或分析程序使用的 AVX2(和其他高级指令集)指令的使用情况