sql - postgres 查询优化
问题描述
您好我正在尝试优化我的 SQL 查询并帮助从 explain.depesz 检查我的查询的 SQL 计划。这是我的查询计划的链接https://explain.depesz.com/s/4MiM 。我对查询计划没有足够的了解。所以有人能告诉我在我的查询中应该做什么来优化我的 postgres SQL 查询。
这是我的查询。
SELECT
ap.id,
ap.invoice_generated,
ap.external_order_id,
ap.appointment_status,
ap.invoice_generation_time,
ap.prior_authorization_code,
ap.fee_details AS appt_fee_details,
r.id AS ride_id,
r.external_leg_id,
r.leg_no,
r.ride_status,
r.ride_category,
vld.fuse_id,
org.fee_details,
org.fee_details,
rad.mode,
r.distance,
st.setting_value AS allow_ride_cost_zero
FROM
ride_details r
INNER JOIN appointments ap ON r.appt_id = ap.id
INNER JOIN ride_additional_details rad ON rad.ride_detail_id = r.id
INNER JOIN organisations org ON ap.org_id = org.id
INNER JOIN vendor_lists vl ON vl.ride_id = r.id
AND vl.status = 'active'
LEFT JOIN settings st ON st.owner_id = org.market_segment_id
AND st.owner_type = 'market_segment'
AND st.setting_name = 'allow_ride_cost_zero'
INNER JOIN vendor_list_details vld ON vld.ride_id = r.id
AND vld.vendor_list_id = vl.id
AND vld.status IS NOT NULL
WHERE
ap.external_order_id IS NOT NULL
AND ap.invoice_generated = FALSE;
解决方案
推荐阅读
- python - 如何发送字典上下文数据以从 django 中的模板查看
- google-cloud-platform - 通过多次调用的 Dialogflow 插槽
- javascript - 有条件地合并映射
- javascript - 在以下情况下,当我用 JavaScript 交换一个类时,为什么替换命令的顺序很重要?
- r - 使用 R 拟合“多峰”对数正态分布
- python - SQLAlchemy 在 UNION ALL 中插入括号导致 SQLite 中的 SQL 语法错误
- azure - Azure DevOps:授予组织级别组的权限,以便能够为所有现有项目做出贡献
- python - VScode 中 Tkinter 的 $DISPLAY 环境问题
- java - 使用 Trie 在文档中进行前缀搜索和定位
- php - 尝试在 Laravel 7 中合并两个数组会返回 Objects