sql 性能调优

sql 复制代码
SELECT * FROM  warn_data where TO_CHAR(start_time, 'YYYY-MM-DD HH24:MI') >= #{startTime} 

这种写法, 对数据库字段使用了 to_char函数, 当表数据巨大的时候,性能慢 怎么优化?

优化使用 TO_CHAR 函数的 SQL 查询性能

当数据库表数据量巨大时,在 WHERE 子句中对字段使用 TO_CHAR 函数会导致性能问题,因为:

1.数据库无法使用该字段上的索引

2.需要对每一行数据都应用函数转换

优化方案

方案1:使用原生日期比较 (​​避免在 WHERE 子句中对列使用函数​​ - 这会阻止索引使用, 将参数转换为日期类型​​而不是将列转换为字符串)

sql 复制代码
SELECT * FROM warn_data 
WHERE start_time >= TO_TIMESTAMP(#{startTime}, 'YYYY-MM-DD HH24:MI')
相关推荐
踏月的造梦星球13 分钟前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
韩楚风34 分钟前
【参天引擎】事务生命周期 / MVCC / Undo / ACID / 分布式事务 功能域整体解析
数据库·分布式·mysql·架构·cantian
renhongxia11 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
程序员无隅1 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
愿做无知一猿2 小时前
Nacos连接MySQL异常?DataGrip竟成救星
数据库·mysql
G.O.G.O.G2 小时前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
研究员子楚2 小时前
GEO行业发展标准体系白皮书V2.0-第10卷 · 全球篇:跨国标准协同与全球品牌语义治理框架
数据库·人工智能·microsoft·架构·geo
Omics Pro3 小时前
深度学习多组学互作:组内+组间
数据库·人工智能·深度学习·mysql·搜索引擎·自然语言处理
残*影5 小时前
如何优雅地保存MySQL数据变更历史?
数据库·mysql
乐观的Terry5 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程