【postgresql数据库创建符合索引】

这里写自定义目录标题

  • 简单的sql语句执行速度很慢
    • 示例SQL语句:
    • 优化方案:

简单的sql语句执行速度很慢

数据库表数据量很大,执行简单的sql查询,查询速度很慢,如何进行速度优化?
最直接有效的方法是对数据库表,创建索引,从而加快查询速度。

示例SQL语句:

库表中数据量:8022033条(八百万余条数据)
执行以下sql需要5s。

SELECT MAX( pubtime ) 
FROM
	st_pptn_r_forecast 
WHERE
	tm BETWEEN '2023-08-14 08:00:00.0' 
	AND '2023-08-16 09:00:00.0' 
	AND intv IS NOT NULL 
	AND drp IS NOT NULL 
	AND intv <> 0 
	AND source_type = CAST ( 1 AS INTEGER ) 
	AND rain_binding_type = CAST ( 1 AS INTEGER )

优化方案:

  1. 索引优化(最有效方案)
-- 创建复合条件索引
CREATE INDEX idx_pptn_forecast_optimized ON st_pptn_r_forecast (
    source_type,
    rain_binding_type,
    tm,
    pubtime
) 
WHERE intv IS NOT NULL AND drp IS NOT NULL AND intv <> 0;

修改之后,执行只需要0.380s。
【postgresql数据库创建符合索引】_第1张图片

你可能感兴趣的:(postgresql,JAVA,数据库,postgresql,oracle)