码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT SQL覆盖和限制


    文章目录

      • openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT SQL覆盖和限制
        • 92.1 不支持的特性
        • 92.2 MOT限制
        • 92.3 不支持的DDL操作
        • 92.4 不支持的数据类型
        • 92.5 不支持的索引DDL和索引
        • 92.6 不支持的DML
        • 92.7 不支持的JIT功能(原生编译和执行)

    openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT SQL覆盖和限制

    MOT设计几乎能够覆盖SQL和未来特性集。例如,大多数支持标准的Postgres SQL,也支持常见的数据库特性,如存储过程、自定义函数等。

    下面介绍各种SQL覆盖和限制。

    92.1 不支持的特性

    MOT不支持以下特性:

    • 隔离性:不支持SERIALIZABLE隔离。
    • 查询原生编译(JIT):SQL覆盖范围有限。
    • 本地内存限制为1GB。一个事务只能更改小于1GB的数据。
    • 容量(数据+索引)受限于可用内存。
    • 不支持全文检索索引。
    • 不支持逻辑复制特性。
    • 不支持保存点。

    此外,下面详细列出了MOT、MOT索引、查询和DML语法的各种通用限制,以及查询原生编译的特点和限制。

    92.2 MOT限制

    MOT功能限制:

    • 分区
    • AES加密、数据动态脱敏、行级访问控制
    • 流操作
    • 自定义类型
    • 子事务:仅支持存储过程的语句块上下文,且有以下限制:MOT恢复支持仅包含SELECT操作的子事务,且仅允许只读回滚。在这种情况下,父事务将中止。
    • DML触发器
    • DDL触发器
    • “C”或“POSIX”以外的排序规则

    92.3 不支持的DDL操作

    • CREATE FORIGN table LIKE:有限支持,LIKE可以用于任何表(MOT和堆表),但不带任何选项、数据或索引。
    • 创建as select表
    • 按范围分区
    • 创建无日志记录子句(no-logging clause)的表
    • 创建可延迟约束主键(DEFERRABLE)
    • 重建索引
    • 表空间
    • 使用子命令创建架构

    92.4 不支持的数据类型

    • UUID
    • User-Defined Type (UDF)
    • Array data type
    • NVARCHAR2(n)
    • Clob
    • Name
    • Blob
    • Raw
    • Path
    • Circle
    • Reltime
    • Bit varying(10)
    • Tsvector
    • Tsquery
    • JSON
    • Box
    • Text
    • Line
    • Point
    • LSEG
    • POLYGON
    • INET
    • CIDR
    • MACADDR
    • Smalldatetime
    • BYTEA
    • Bit
    • Varbit
    • OID
    • Money
    • Any unlimited varchar/character varying
    • HSTORE
    • XML
    • Int16
    • Abstime
    • Tsrange
    • Tstzrange
    • Int8range
    • Int4range
    • Numrange
    • Daterange
    • HLL

    92.5 不支持的索引DDL和索引

    • 在小数和数值类型上创建索引

    • 在可空列上创建索引

    • 单表创建索引总数>9

    • 在键大小>256的表上创建索引

      键大小包括以字节为单位的列大小+列附加大小,这是维护索引所需的开销。下表列出了不同列类型的列附加大小。

      此外,如果索引不是唯一的,额外需要8字节。

      下面是伪代码计算键大小:

      keySize =0; 
      
      for each (column in index){ 
            keySize += (columnSize + columnAddSize); 
      } 
      if (index is non_unique) { 
            keySize += 8; 
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      列类型列大小列附加大小
      varcharN4
      tinyint11
      smallint21
      int41
      longint81
      float42
      double83

    上表中未指定的类型,列附加大小为零(例如时间戳)。

    92.6 不支持的DML

    • Merge into
    • Lock table
    • Copy from table
    • Upsert

    92.7 不支持的JIT功能(原生编译和执行)

    • 存储过程编译:仅访问MOT表的存储过程可用。
    • 查询涉及两个以上的表
    • 查询有以下任何一个情况:
      • 非原生类型的聚合
      • 窗口功能
      • 子查询子链接
      • Distinct-ON修饰语(distinct子句来自DISTINCT ON)
      • 递归(已指定WITH RECURSIVE)
      • 修改CTE(WITH中有INSERT/UPDATE/DELETE)

    以下子句不支持轻量执行:

    • Returning list
    • Group By clause
    • Grouping sets
    • Having clause
    • Windows clause
    • Distinct clause
    • Sort clause that does not conform to native index order:支持,但所有排序列都必须存在于SELECT中。
    • Set operations
    • Constraint dependencies

    👍 点赞,你的认可是我创作的动力!

    ⭐️ 收藏,你的青睐是我努力的方向!

    ✏️ 评论,你的意见是我进步的财富!

    图片

  • 相关阅读:
    PageOffice 在线编辑 office文件,回调父页面
    DBeaver 连接Hive-3.1.2
    【2023,学点儿新Java-05】搭建Java开发环境:什么是JDK、JRE、JVM、Java API?|G1垃圾回收算法 |应该选择哪个版本的jdk?| 安装jdk17 |如何找到各个版本jdk
    第14届蓝桥杯省赛 ---- C/C++ C组
    数据结构04
    《深度学习进阶 自然语言处理》第七章:seq2seq介绍
    UnityShader入门精要——表面着色器
    济南ISO三体系认证证书办理需要准备的材料有哪些
    面试被吊打!正确打开Redis分布式锁的七种方案,涨见识了
    【TestNG学习(三)套件测试】
  • 原文地址:https://blog.csdn.net/shuchaoyang/article/details/133649645
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号