只用索引扫描和覆盖索引

数据库中的所有索引是 二级 索引,这意味着每个索引都是与表的主数据区(在本数据库术语称为表的 堆 中)分开存储。这意味着在普通索引扫描中,每行检索都需要从索引和堆中取数据。此外,虽然匹配给定的可索引 WHERE 条件的索引条目通常在...

Trajectory最佳实践

采用合理的分区表 随着使用时间的增加,数据库中的轨迹数据量也不断增加,导致数据库索引变大,查询变慢。您可考虑采用分区表的模式降低单表数据量。使用分区表请参见PostgreSQL文档中 分区表 相关章节。减少使用字符串类型属性 轨迹属性中...

基本概念

Elasticsearch与关系型数据库的映射关系如下表所示:Elasticsearch 关系型数据库 索引(index)数据库Database)文档类型(type)表(Table)文档(document)一行数据(Row)字段(field)一列数据(Column)映射(mapping)数据库的...

Trajectory最佳实践

采用合理的分区表 随着使用时间的增加,数据库中的轨迹数据量也不断增加,导致数据库索引变大,查询变慢。您可考虑采用分区表的模式降低单表数据量。使用分区表请参见PolarDB文档中 分区表使用。减少使用字符串类型属性 轨迹属性中如有大量...

Trajectory最佳实践

采用合理的分区表 随着使用时间的增加,数据库中的轨迹数据量也不断增加,导致数据库索引变大,查询变慢。您可考虑采用分区表的模式降低单表数据量。使用分区表请参见PolarDB文档中 分区表使用。减少使用字符串类型属性 轨迹属性中如有大量...

Trajectory最佳实践

采用合理的分区表 随着使用时间的增加,数据库中的轨迹数据量也不断增加,导致数据库索引变大,查询变慢。您可考虑采用分区表的模式降低单表数据量。使用分区表请参见PostgreSQL文档中 分区表 相关章节。减少使用字符串类型属性 轨迹属性中...

慢日志

索引扫描行数 该命令对数据库多少行索引进行了扫描。说明 对于慢查询命令,如果该值远大于返回行数,说明您的索引是无效索引。返回行数 该命令执行后匹配返回的数据行数。慢日志语句 详细的命令模板,您可以通过JSON工具美化方便进行分析。...

数据膨胀、倾斜与索引统计

索引扫描行数 索引扫描总行数。索引名 索引名称。上次诊断时间 最近一次发起诊断的时间。说明 智能诊断会定期在后台每小时整点自动诊断数据库内所有的表,最近诊断时间表明最近一次发起诊断的时间。索引定义 索引DDL定义。

组合多个索引

数据库具有组合多个索引(包括多次使用同一个索引)的能力来处理那些不能用单个索引扫描实现的情况。系统能在多个索引扫描之间安排 AND 和 OR 条件。例如,WHERE x=42 OR x=47 OR x=53 OR x=99 这样一个查询可以被分解成为四个独立的在 x...

元数据数据字典

COLLATION_NAME:列collation名 COLUMN_TYPE:列类型(包含精度)COLUMN_KEY:列索引信息 EXTRA:列额外信息 PRIVILEGES:列权限信息 COLUMN_COMMENT:列注释 GENERATION_EXPRESSION:生成列 STATISTICS STATISTICS表提供关于数据库索引的...

ORDER BY LIMIT执行效率低

可能原因 问题现象中的SQL语句有以下两种执行计划:选择$CONDITION 相关的索引,执行计划一:通过$CONDITION 相关的索引扫描数据。根据 ORDER BY 后的索引$A 对数据排序。选择$N 条数据返回。选择 ORDER BY 后的索引$A,执行计划二:通过 ...

ALTER DATABASE

ALTER DATABASE 更改一个数据库的属性。简介 ALTER DATABASE 更改一个数据库的属性。第一种形式更改某些针对每个数据库的设置。...示例 要在数据库 test 中默认禁用索引扫描:ALTER DATABASE test SET enable_indexscan TO off;

ORDER BY LIMIT执行效率低

可能原因 问题现象中的SQL语句有以下两种执行计划:选择$CONDITION 相关的索引,执行计划一:通过$CONDITION 相关的索引扫描数据。根据 ORDER BY 后的索引$A 对数据排序。选择$N 条数据返回。选择 ORDER BY 后的索引$A,执行计划二:通过 ...

对象

表 pg_stat_all_tables pg_stat_all_tables 视图将为当前数据库中的每一个表显示与该表访问相关的统计信息。相关参数说明如下表所示:参数 类型 描述 relid oid 表OID。schemaname name 表所在的Schema的名称。relname name 表名称。seq_...

对象

表 pg_stat_all_tables pg_stat_all_tables 视图将为当前数据库中的每一个表显示与该表访问相关的统计信息。相关参数说明如下表所示:参数 类型 描述 relid oid 表OID。schemaname name 表所在的Schema的名称。relname name 表名称。seq_...

CLUSTER

不带任何参数的 CLUSTER 会重新聚簇调用用户所拥有的当前数据库中已经被聚簇过的表(如果是超级用户调用,则是所有已被聚簇过的表)。这种形式的 CLUSTER 不能在一个事务块内执行。当一个表被聚簇时,会在其上要求一个 ACCESS EXCLUSIVE 锁...

日志字段详情

字段 说明_topic_日志主题,固定为mongo_audit_log audit_type 日志类型,例如Command coll 数据集合 db 数据库名称 docs_examined 文档扫描行数 instanceid MongoDB实例ID keys_examined 索引扫描行数 latency 消耗时间 optype 操作类别 ...

规则vs触发器

对于两者都可实现的情况,哪个更好取决于对数据库的使用。触发器为每一个受影响的行都执行一次。规则修改查询树或生成一个额外的查询。所以如果在一个语句中影响到很多行,一个发出额外查询的规则通常可能会比一个触发器快,因为触发器对每...

EXPLAIN输出

目前在PolarDB中支持:Seq Scan:顺序扫描 Index Scan:基于索引扫描,但不只是返回索引列的值 IndexOnly Scan:基于索引扫描,并且只返回索引列的值,简称为覆盖索引 BitmapIndex Scan:利用Bitmap结构扫描 BitmapHeap Scan:把BitmapI...

参数说明

当您通过数据库统计信息、慢SQL等信息了解数据库当前的状态以及存在的问题后,可以针对发现的问题,进行调整和优化。PolarDB PostgreSQL版(兼容Oracle)默认的参数模板适用于大多数通用的数据库场景,对于一些特殊的数据库场景,默认模板...

高速全文检索(RUM)

GIN索引不存储词汇的位置,因此在索引扫描之后,需要额外的扫描来检索词汇位置。短语查询慢 GIN索引需要位置信息来执行短语搜索。时间戳排序慢 GIN索引无法在带有词素的索引中存储一些相关信息,因此需要执行额外的扫描。基于GIN索引,RDS ...

术语表

本文介绍云原生分布式关系型数据库PolarDB-X使用过程中遇到的术语。控制台术语 名词 描述 地域 数据中心所在的地理位置。可用区 可用区是指在某一地域内,具有独立电力和网络的物理区域。同一可用区内实例之间的网络延时更小。集群(实例)...

TrajGisT索引

TrajGist支持索引的向上兼容,即当索引所记录的信息不足以对查询进行精确判断时,仍然可以通过索引扫描得到一个粗粒度的结果。例如只建立了时间索引,但需要进行2维和时间的2DTIntersects操作时,可以用时间索引过滤掉和给定的时间段不相交...

TrajGisT索引

TrajGist支持索引的向上兼容,即当索引所记录的信息不足以对查询进行精确判断时,仍然可以通过索引扫描得到一个粗粒度的结果。例如只建立了时间索引,但需要进行2维和时间的2DTIntersects操作时,可以用时间索引过滤掉和给定的时间段不相交...

CPU使用率高排查方法

PolarDB PostgreSQL版 在使用过程中,可能会出现CPU使用率异常升高甚至达到满载的情况。...对于全表扫描较多的表,可以在常用的过滤列上创建索引,使用索引扫描,减少全表扫描在内存中过滤不符合条件的记录所造成的CPU浪费。

RDS PostgreSQL慢SQL问题

在相同业务场景下,架构设计和索引设计会影响查询性能,良好的设计可以提高查询性能,反之会出现很多慢SQL(执行时间很长的SQL语句)。本文介绍导致慢SQL的原因和解决方案。查看慢SQL 控制台的 参数设置 中,可以找到名为 log_min_...

TrajGisT索引

TrajGist支持索引的向上兼容,即当索引所记录的信息不足以对查询进行精确判断时,仍然可以通过索引扫描得到一个粗粒度的结果。例如只建立了时间索引,但需要进行2维和时间的2DTIntersects操作时,可以用时间索引过滤掉和给定的时间段不相交...

TrajGisT索引

TrajGist支持索引的向上兼容,即当索引所记录的信息不足以对查询进行精确判断时,仍然可以通过索引扫描得到一个粗粒度的结果。例如只建立了时间索引,但需要进行2维和时间的2DTIntersects操作时,可以用时间索引过滤掉和给定的时间段不相交...

概述

默认情况下,本数据库允许在索引创建时并行地进行读(SELECT 命令),但写(INSERT、UPDATE 和 DELETE)则会被阻塞直到索引创建完成。在生产环境中这通常是不可接受的。一个索引被创建后,系统必须保持它与表同步。这增加了数据操作的负担...

概述

PolarDB PostgreSQL版(兼容Oracle)提供了跨机并行查询(Parallel Execution)的功能,支持多个计算节点...PolarDB PostgreSQL版(兼容Oracle)支持对分区表使用跨机并行查询的功能,提升数据库性能,具体可参见 对分区表使用跨机并行查询。

概述

PolarDB PostgreSQL版(兼容Oracle)提供了跨机并行查询(Parallel Execution)的功能,支持多个计算节点...PolarDB PostgreSQL版(兼容Oracle)支持对分区表使用跨机并行查询的功能,提升数据库性能,具体可参见 对分区表使用跨机并行查询。

部分索引

这导致了上述相同的好处,但它防止了通过索引来访问“不感兴趣的”值,即便在这种情况下一个索引扫描是有益的。显然,为这种场景建立部分索引需要很多考虑和实验。建立一个部分索引来排除不感兴趣的值 如果我们有一个表包含已上账和未上账...

OPT_PARAM Hints

如果通过传统的方式指定特定参数值,通常是在数据库级别、会话级别或者用户级别下进行的,无法精确控制执行特定SQL时使用的参数值。此时可以使用OPT_PARAM Hint实现在SQL级别指定特定参数值,将参数的修改范围控制在SQL级别,指定的参数值...

OPT_PARAM Hints

如果通过传统的方式指定特定参数值,通常是在数据库级别、会话级别或者用户级别下进行的,无法精确控制执行特定SQL时使用的参数值。此时可以使用OPT_PARAM Hint实现在SQL级别指定特定参数值,将参数的修改范围控制在SQL级别,指定的参数值...

深度解析PolarDB数据库并行查询技术

另外,对于参与JOIN的每张表,因为表的访问方法不同,例如全表扫描、Ref索引扫描、Range索引扫描等,这些都会影响到最终并行扫描的代价。通常我们选择最大的那张表作为并行表,这样并行扫描的收益最大,当然也可以选择多个表同时做并行扫描...

使用EXPLAIN

数据库为每个收到查询产生一个 查询计划。选择正确的计划来匹配查询结构和数据的属性对于好的性能来说绝对是最关键的,因此系统包含了一个复杂的 规划器 来尝试选择好的计划。你可以使用EXPLAIN命令察看规划器为任何查询生成的查询计划。...

索引顾问

注意事项 索引顾问不考虑Index-Only Scan扫描,它在提出建议时考虑索引扫描。索引顾问会忽略WHERE子句中找到的任何计算。建议中的索引字段不会是任何类型的表达式,该字段将是一个简单的列名。建议假设索引时,索引顾问不考虑继承。如果...

2023年

修复列存表索引扫描(INDEX SCAN)结果可能出现错误的问题。修复AOCS表添加列辅助表时未使用正确的快照导致报错的问题。修复AO表和AOCS表的索引膨胀以及不可重复读的问题。修复Nested-Loop JOIN无法正确选择物化节点的问题。

CREATE INDEX

非键列不能作为索引扫描的条件,并且该索引所强制的任何唯一性或者排除约束都不会考虑它们。不过,只用索引的扫描可以返回非键列的内容而无需访问该索引的基表,因为在索引项中就能直接拿到它们。因此,非键列的增加允许查询使用只用索引的...

定制执行计划(pg_hint_plan)

IndexOnlyScan(table[index.])强制仅使用索引扫描,可以指定某个索引。BitmapScan(table[index.])强制使用Bitmap扫描。NoSeqScan(table)强制不使用序列扫描。NoTidScan(table)强制不使用TID扫描。NoIndexScan(table)强制不使用索引扫描。...
共有200条 < 1 2 3 4 ... 200 >
跳转至: GO
产品推荐
云服务器 安全管家服务 安全中心
这些文档可能帮助您
云数据库 RDS 云数据库 Redis 版 数据库备份 DBS 云数据库 MongoDB 版 弹性公网IP 短信服务
新人特惠 爆款特惠 最新活动 免费试用