Oracle系列---【两个环境,表结构一致,数据量一致,索引也一致,为什么同样的sql执行时间却不一致?】

1.问题

两个环境,表结构一致,数据量一致,索引也一致,为什么同样的sql执行时间却不一致?

2.原因分析

通过执行计划,发现差异很大:

复制代码
# 查看执行计划
EXPLAIN 你的sql

通过dbeaver工具查看DDL上面的那个Statistics的值,发现两个环境的不一致。由此可以断定是统计信息出了问题。

为什么会这样?这是因为在oracle建立索引或者插入数据时,优化执行器没有统计到新数据,所以才导致了这个问题。oracle存数据是按块存的,隔一段时间刷新一下统计信息。mysql没有这个问题,mysql一般按行存,直接就更新了。

3.解决方案

更新统计信息

复制代码
ANALYZE TABLE 你的表 COMPUTE STATISTICS;
相关推荐
麦聪聊数据16 小时前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_16 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡16 小时前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧17 小时前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon17 小时前
SQL学习指南——视图
数据库·sql
活宝小娜17 小时前
mysql详细安装教程
数据库·mysql·adb
贤时间17 小时前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心17 小时前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
2601_9620725517 小时前
李梦娇常识4600问|题库|打印版
sql·华为od·华为·c#·华为云·.net·harmonyos