当前位置: 首页 > news >正文

SQL优化记录


1. 确认需求场景

如果您的目标是:
筛选每个保单的最新事件(当前逻辑已实现)
排除重复数据(如多行相同 policy_no 但不同 event_date_s
处理性能问题(如大数据量下运行缓慢)

请明确具体需求,我可以针对性优化。


2. 常见优化建议

(1) 索引优化

在优化后的查询中,确保以下字段有索引:

-- clmm 表
CREATE INDEX idx_clmm_policy ON clmm(policy_no, claim_process_code);

-- clco 表
CREATE INDEX idx_clco_claim ON clco(claim_no);

-- clsv 表
CREATE INDEX idx_clsv_claim_cov ON clsv(claim_no, coverage_no);

-- clcb 表
CREATE INDEX idx_clcb_plan ON clcb(plan_code, cl_rvf_type);

-- clbf 表
CREATE INDEX idx_clbf_benef_code ON clbf(benef_code, benef_status_code);
(2) 避免冗余计算

如果某些字段(如 benef_auto_value)在后续处理中不需要,可移除冗余条件:

-- 移除非必要过滤(示例)
-- AND e.benef_auto_value > 0  -- 如果后续不依赖此字段
(3) 分页或限制结果集

如果数据量极大,可添加 LIMIT 或分页逻辑:

WHERE rw = 1
LIMIT 1000;  -- 示例:仅返回前1000条

3. 验证查询逻辑

(1) 窗口函数确定性

当前使用 ORDER BY event_date_s, claim_no 确保排序唯一性,如果 event_date_s 可能重复,需确认是否需要其他字段(如 event_time)作为第二排序键。

(2) 联合条件覆盖

检查 OR 逻辑是否遗漏条件:

WHERE 
  (d.cl_rvf_type IN ('A','B','C') AND e.benef_status_code IN ('0','1','2','3','4','5'))
  OR 
  (d.cl_rvf_type = 'N' AND e.benef_status_code IN ('0','1','2','3','4','5','6'))

确保两种分支的条件互斥且完整。


4. 执行计划分析

如果查询性能不佳,可分析执行计划:

EXPLAIN ANALYZE
SELECT claim_no, policy_no
FROM (...) lm
WHERE rw = 1;

关注以下指标:
Table Scan:是否存在全表扫描(需索引优化)
Join Order:是否按最优顺序连接表
Filter Ratio:过滤条件是否有效减少数据量


5. 其他潜在问题

字段类型一致性:确认 event_date_s 是日期类型,非字符串。
分区表支持:如果数据量极大,可考虑对 policy_noevent_date 进行分区。
冗余子查询:如果后续需要扩展其他字段,避免在子查询中重复计算。


在这里插入图片描述

相关文章:

  • 【Go语言圣经3.6】
  • C++学习之redis
  • (C语言)指针与指针数组的使用教学(C语言基础教学)(指针教学)
  • 【算法百题】专题七_分治快排_专题八_分治归并
  • (hash表+vector 数位和相等数对的最大和)leetcode 2342
  • 遥感数据处理
  • 七、面向对象高级_设计模式
  • Visual Studio里的“公共语言运行时支持”各选项的作用是什么,分别适用于哪些场景?
  • 宇树与智元的崛起:机器人“灵魂”注入的技术密码
  • Mock接口编写教程-axios-mock-adapter(React)
  • 神聖的綫性代數速成例題6. 方陣行列式的性質、伴隨矩陣
  • Python驱动CATIA自动化建模:科赫雪花算法实现与工程应用
  • AI数字人短视频数字人口播源码核心技术解析与商业应用
  • 使用usb-cam包时填充摄像头参数话题
  • 第27周JavaSpringboot git初识
  • 【商城实战(30)】从0到1搭建商城数据分析功能,开启数据驱动增长引擎
  • 数据可视化在特征分布对比中的应用
  • 【AI-Coding】聊聊AI--软件架构探索体验
  • Mysql - 日志相关问题
  • 【工具类】PDF文件转图片
  • 解放日报:浦东夯实“热带雨林”式科创生态
  • 经济日报社论:书写新征程上奋斗华章
  • 印度宣布即日起对所有巴基斯坦航班关闭领空
  • 湖北鄂城:相继4所小学有学生腹泻呕吐,供餐企业负责人已被采取强制措施
  • 吴志朴当选福建德化县人民政府县长
  • 中信银行一季度净利195.09亿增1.66%,不良率持平