• openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述


    openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述

    使用MOT非常简单,以下几个小节将会进行描述。

    openGauss允许应用程序使用MOT和基于标准磁盘的表。MOT适用于最活跃、高竞争和对吞吐量敏感的应用程序表,也可用于所有应用程序的表。

    以下命令介绍如何创建MOT,以及如何将现有的基于磁盘的表转换为MOT,以加速应用程序的数据库相关性能。MOT尤其有利于已证明是瓶颈的表。

    工作流程概述

    以下是与使用MOT相关的任务的简单概述:

    image-20230626170244301

    87.1 授予用户权限

    以授予数据库用户对MOT存储引擎的访问权限为例。每个数据库用户仅执行一次,通常在初始配置阶段完成。

    img 说明: MOT通过外部数据封装器(Foreign Data Wrapper,FDW)机制与openGauss数据库集成,所以需要授权用户权限。

    要使特定用户能够创建和访问MOT(DDL、DML、SELECT),以下语句只执行一次:

    GRANT USAGE ON FOREIGN SERVER mot_server TO ;
    
    • 1

    所有关键字不区分大小写。

    87.2 创建/删除MOT

    创建MOT非常简单。只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。SELECT、DML和DDL的所有其他命令的语法对于MOT表和openGauss基于磁盘的表是一样的。

    • 创建MOT:

      create FOREIGN table test(x int) [server mot_server];
      
      • 1
    • 以上语句中:

      • 始终使用FOREIGN关键字引用MOT。
      • 在创建MOT表时,[server mot_server]部分是可选的,因为MOT是一个集成的引擎,而不是一个独立的服务器。
      • 上文以创建一个名为test的内存表(表中有一个名为x的整数列)为例。在下一节(创建索引)中将提供一个更现实的例子。
      • 如果postgresql.conf中开启了增量检查点,则无法创建MOT。因此请在创建MOT前将enable_incremental_checkpoint设置为off。
    • 删除名为test的MOT:

      drop FOREIGN table test;
      
      • 1
    • ALTER TABLE

      支持添加列、删除列和重命名列。

    有关MOT的功能限制(如数据类型),请参见MOT SQL覆盖和限制

    87.3 为MOT创建索引

    支持标准的PostgreSQL创建和删除索引语句。

    例如:

    create index  text_index1 on test(x) ;
    
    • 1

    创建一个用于TPC-C的ORDER表,并创建索引:

    create FOREIGN table bmsql_oorder ( 
      o_w_id       integer      not null, 
      o_d_id       integer      not null, 
      o_id         integer      not null, 
      o_c_id       integer not null, 
      o_carrier_id integer,          
      o_ol_cnt     integer, 
      o_all_local  integer, 
      o_entry_d    timestamp, 
      primary key (o_w_id, o_d_id, o_id) 
    ); 
    create index  bmsql_oorder_index1 on bmsql_oorder(o_w_id, o_d_id, o_c_id, o_id) ;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    img 说明: 在MOT名字之前不需要指定FOREIGN关键字,因为它仅用于创建和删除表的命令。

    有关MOT索引限制,请参见“MOT SQL覆盖和限制”的索引部分内容。

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

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

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

    图片

  • 相关阅读:
    蓝桥杯十四届c/c++省赛:飞机降落、接龙数列(Java版可AC代码)
    异常数据检测 | Python奇异谱分析(SSA)数据缺失值插补
    正则校验的多种方式
    网站如何优化
    总结算法题中一些常用的Java方法
    使用SecScanC2构建P2P去中心化网络实现反溯源
    Oracle统计信息手动收集与修改
    Prometheus 使用cadvisor采集docker容器监控数据
    bluez5.50蓝牙文件传输
    MC9S12DP512VPVE、MC9S12DT512CPVE HCS12系列 微控制器 16位 闪存 112LQFP
  • 原文地址:https://blog.csdn.net/shuchaoyang/article/details/133499740