AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-274627

Andy DB Analyst's questions

Martin Hope
Andy DB Analyst
Asked: 2024-05-30 23:03:09 +0800 CST

Oracle临时表空间性能

  • 5

我正在寻找方法来提高数据库对于繁重的分析查询的性能,并发现我的临时表空间有 1M 范围(统一表空间的默认值)。由于我通常的临时表空间使用量远高于每个查询 1GB(具有大量连接/排序/组的顶级查询可能消耗多达 100 GB 的临时表空间),1M 范围对我来说看起来太低了。为了性能而增加范围大小是否值得?

oracle
  • 1 个回答
  • 15 Views
Martin Hope
Andy DB Analyst
Asked: 2023-10-24 16:38:09 +0800 CST

ORACLE 收集统计数据后基数估计错误

  • 6

我们有一个按月分区的大表范围。增量统计已开启。在预定的统计数据收集之后,基数估计变得很奇怪,比如

select count(*) from my_table where date >= trunc(sysdate) - 30 and date < trunc(sysdate)

给出 1.3M 行,但估计为 20K。只有在手动重新收集统计数据后,估计才会变得准确。代码示例:

-- Scheduled
dbms_stats.gather_table_stats
(
    ownname=> 'ownname', 
    tabname=> 'tabname' , 
    estimate_percent=> DBMS_STATS.AUTO_SAMPLE_SIZE,  
    cascade=> DBMS_STATS.AUTO_CASCADE, 
    degree=> 4,  
    no_invalidate=> DBMS_STATS.AUTO_INVALIDATE, 
    granularity=> 'AUTO', 
    method_opt=> 'FOR ALL COLUMNS SIZE AUTO'
);

-- Manual
DBMS_STATS.GATHER_TABLE_STATS 
(
    ownname => '"ownname"',
    tabname => '"tabname"',
    partname => '"partname"',
    method_opt => 'FOR COLUMNS DATE SIZE 254',
    estimate_percent => 1
);

其他分区表都没问题。

该表与其他表之间的区别是(据我们所知):

  1. 该表中存在错误插入。大多数日期在 2014 年和 2023 年之间,但有一些行包含 1970 年和 2024 年(我们无法更改它)。还有 2045 的空分区。我们尝试重新创建它,但没有得到相同的行为。
  2. 我们搞乱了直方图,删除了一些自动创建的直方图,并手动创建了一些基于函数的有用的直方图。但在 USER_TAB_COL_STATISTICS 和 USER_TAB_HISTOGRAMS 中,存在 DATE 列的直方图。

什么会导致这种行为?我们该如何解决它?

oracle
  • 1 个回答
  • 30 Views
Martin Hope
Andy DB Analyst
Asked: 2023-10-05 22:43:42 +0800 CST

Oracle MAX 给出的结果与 ORDER BY desc 不同

  • 5

当尝试对一些十六进制值进行排序时,我得到了 MAX() 聚合和 ORDER BY desc 排序的不同结果:

with some_data as
(
    select '123A55' as hex
    from dual
    union all
    select '123255' as hex
    from dual
)

select max(hex)
from some_data
;

Result: 123A55

with some_data as
(
    select '123A55' as hex
    from dual
    union all
    select '123255' as hex
    from dual
)

select *
from some_data
order by hex desc
;

Result:
123255
123A55

在 MySQL DB 中,这两种情况都给出 123A55。

ORACLE 中 MAX() MIN() 和 ORDER BY 的排序顺序是否有不同的规则?

oracle
  • 1 个回答
  • 27 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve