云服务器内容精选
-
建议3.4 禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单DN入库数据量接近6W,建议最低不少于5K。 实时INSERT场景使用Hstore列存表(8.3.0及以上版本)。
-
其他算子 其他算子包括Stream算子,以及RemoteQuery等算子。Stream算子主要有三种类型:Gather stream、Broadcast stream及Redistribute stream。 Gather stream:每个源节点都将其数据发送给目标节点进行汇聚。 Broadcast stream:由一个源节点将其数据发给N个目标节点进行运算。 Redistribute stream:每个源节点将其数据根据连接条件计算Hash值,根据重新计算的Hash值进行分布,发给对应的目标节点。 表5 其他算子 算子 含义 场景 Stream 多节点数据交换 执行分布式查询计划,节点间存在数据交换。 Partition Iterator 分区迭代器 分区表扫描,迭代扫描每个分区。 RowToVec 行转列 行列混合场景。 DfsScan / DfsIndexScan HDFS表(索引)扫描 HDFS表扫描。
-
扫描算子 扫描算子用来扫描表中的数据,每次获取一条元组作为上层节点的输入, 存在于查询计划树的叶子节点,它不仅可以扫描表,还可以扫描函数的结果集、链表结构、子查询结果集。常见的扫描算子如下表所示: 表1 扫描算子 算子 含义 场景 SeqScan 顺序扫描 最基本的扫描算子,用于扫描物理表(没有索引辅助的顺序扫描)。 IndexScan 索引扫描 选择条件涉及的属性上建立了索引。 IndexOnlyScan 直接从索引返回元组 索引列完全覆盖结果集列。 BitmapScan(BitmapIndexScan, BitmapHeapScan) 利用Bitmap获取元组 BitmapIndexScan利用属性上的索引进行扫描,返回结果为一个位图;BitmapHeapScan从BitmapIndexScan输出的位图中获取元组。 TidScan 通过元组tid获取元组 WHERE conditions(like CTID = tid or CTID IN (tid1, tid2, …)) ; UPDATE/DELETE … WHERE CURRENT OF cursor; SubqueryScan 子查询扫描 以另一个查询计划树(子计划)为扫描对象进行元组的扫描。 FunctionScan 函数扫描 FROM function_name ValuesScan 扫描values链表 对VALUES子句给出的元组集合进行扫描。 ForeignScan 外部表扫描 查询外部表。 CteScan CTE表扫描 扫描SELECT查询中用WITH子句定义的子查询。
-
连接算子 连接算子对应了关系代数中的连接操作,以表 t1 join t2 为例,主要的集中连接类型如下:inner join、left join、right join、full join、semi join、 anti join,其实现方式包括Nestloop、HashJoin及MergeJoin。 表2 连接算子 算子 含义 场景 实现特点 NestLoop 嵌套循环连接,暴力连接,对每一行都扫描内表。 Inner Join, Left Outer Join, Semi Join, Anti Join 适用于被连接的数据子集较小的查询。在嵌套循环中,外表驱动内表,外表返回的每一行都要在内表中检索找到它匹配的行,因此整个查询返回的结果集不能太大(不能大于10000),要把返回子集较小的表作为外表,而且在内表的连接字段上建议要有索引。 MergeJoin 归并连接(输入有序),内外表排序,定位首尾两端,一次性连接元组。等值连接。 Inner Join, Left Outer Join, Right Outer Join, Full Outer Join, Semi Join, Anti Join 也称作“融合连接”,是先将关联表的关联列各自做排序,然后从各自的排序表中抽取数据,到另一个排序表中做匹配。 因为Merge join需要做更多的排序,所以消耗的资源更多,因此通常情况下执行性能差于Hash Join。 如果源数据已经被排序过,在执行融合连接时,并不需要再排序,此时Merge Join的性能优于Hash Join。 (Sonic) HashJoin 哈希连接,内外表使用join列的hash值建立hash表,相同值的必在同一个hash桶。等值连接的连接两端必须为类型相同的等值连接,且支持hash散列。 Inner Join, Left Outer Join, Right Outer Join, Full Outer Join, Semi Join, Anti Join 哈希连接,适用于数据量大的表的连接方式。优化器使用两个表中较小的表,利用连接键在内存中建立hash表,然后扫描较大的表并探测散列,找到与散列匹配的行。Sonic和非Sonic的Hash Join的区别在于所使用hash表结构不同,不影响执行的结果集。
-
物化算子 物化算子是一类可缓存元组的节点。在执行过程中,很多扩展的物理操作符需要首先获取所有的元组才能进行操作(例如聚集函数操作、没有索引辅助的排序等),这是要用物化算子将元组缓存起来; 表3 物化算子 算子 含义 场景 Material 物化 缓存子节点结果。 Sort 排序 ORDER BY子句,连接操作,分组操作,集合操作,配合Unique。 Group 分组操作 GROUP BY子句。 Agg 执行聚集函数 COUNT/SUM/AVG/MAX/MIN等聚集函数。 DISTINCT子句。 UNION去重。 GROUP BY子句。 WindowAgg 窗口函数 WINDOW子句。 Unique 去重(下层已排序) DISTINCT子句。 UNION去重。 Hash HashJoin辅助节点 构造hash表,配合HashJoin。 SetOp 处理集合操作 INTERSECT/INTERSECT ALL,EXCEPT/EXCEPT ALL LockRows 处理行级锁 SELECT … FOR SHARE/UPDATE
-
控制算子 控制算子是一类用于处理特殊情况的节点,用于实现特殊的执行流程。 表4 控制算子 算子 含义 场景 Result 直接进行计算 1. 不包含表扫描。 2. INSERT语句中只有一个VALUES子句。 ModifyTable INSERT/UPDATE/DELETE上层节点 INSERT/UPDATE/DELETE Append 追加 1. UNION(ALL)。 2. 继承表。 MergeAppend 追加(输入有序) 1. UNION(ALL)。 2. 继承表。 RecursiveUnion 处理WITH子句中递归定义的UNION子查询 WITH RECURSIVE … SELECT … 语句。 BitmapAnd Bitmap逻辑与操作 多维索引扫描的BitmapScan。 BitmapOr Bitmap逻辑或操作 多维索引扫描的BitmapScan。 Limit 处理LIMIT子句 OFFSET … LIMIT …
-
建议3.4 禁止针对普通列存表进行实时INSERT操作 违反规范的影响: 针对普通列存表实时小批量入库会导致小CU膨胀严重,影响存储空间和查询性能。 方案建议: 实时INSERT场景评估单次入库数据量和数据总量,总量小的场景可以改为行存表。 实时INSERT场景前端攒批,保证单次、单表、单分区、单DN入库数据量接近6W,建议最低不少于5K。 实时INSERT场景使用Hstore列存表(8.3.0及以上版本)。
-
更多优化示例 示例1:修改基表为REPLICATION表,并且在过滤列上创建索引。 1 2 3 create table master_table (a int); create table sub_table(a int, b int); select a from master_table group by a having a in (select a from sub_table); 上述事例中存在一个相关性子查询,为了提升查询的性能,可以将sub_table修改为一个REPLICATION表,并且在字段a上创建一个index。
-
响应参数 表4 响应Body参数 参数 参数类型 描述 node_limit_sql_model_list Array of objects 限流SQL模板信息,详细内容请参见表5。 limit Integer 查询记录数。 offset Integer 索引位置。 total_count Integer 总数。 表5 ListNodeLimitSqlModelResponseResult 参数 参数类型 描述 sql_id String 限流任务的sql_id。 sql_model String 限流任务SQL模板。
-
请求示例 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0611f1bd8b00d5d32f17c017f15b599f/instances/3d39c18788b54a919bab633874c159dfin14/list-node-limit-sql-model?node_id=46d996fdda594f58b17fe509061e0893no14&offset=0
-
响应示例 { "node_limit_sql_model_list" : [ { "sql_id" : "3519660378", "sql_model" : "select * from table where id= ?" } ], "total_count" : 1, "limit" : 10, "offset" : 1 }
-
URI POST https://{Endpoint}/v3/{project_id}/instances/{instance_id}/sync-limit-task 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字组成,且长度为32个字符。 默认取值: 不涉及。 instance_id 是 String 实例ID。
-
步骤1:购买E CS 登录管理控制台,查看是否有弹性云服务器。 有Windows弹性云服务器,执行3。 无Windows弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Windows操作系统。 由于需要在ECS下载SQL Server Management Studio客户端,因此需要为ECS绑定弹性公网IP(EIP),并且选择与RDS for SQL Server实例相同的区域、VPC和安全组,便于RDS for SQL Server和ECS网络互通。 购买Windows弹性云服务器请参考《弹性云服务器用户指南》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在RDS for SQL Server实例概览页,查看RDS实例的区域和VPC。 图3 SQL Server概览 确认ECS实例与RDS for SQL Server实例是否处于同一区域、同一VPC内。 是,执行步骤2:测试连通性并安装SQL Server Management Studio。 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
-
步骤2:测试连通性并安装SQL Server Management Studio 登录ECS实例,请参见《弹性云服务器用户指南》中“Windows弹性云服务器管理控制台远程登录(VNC方式)”。 在RDS“实例管理”页面,单击实例名称进入“概览”页面。 获取实例的内网地址和数据库端口。 图4 连接信息 在ECS上打开cmd命令窗,测试是否可以正常连接到RDS for SQL Server实例内网地址的端口。 telnet 192.168.2.182 1433 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将RDS实例的内网IP地址和端口添加到出方向规则。 图5 ECS的安全组 查看RDS的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参见设置安全组规则。 图6 RDS的安全组 在ECS上打开浏览器,访问Microsoft网站,以SQL Server Management Studio 18.0为例,下载安装包。 双击安装包,按照向导完成安装。
-
操作步骤 创建c#函数,编译出一个RDS for SQL Server的dll。 图1 c#函数代码 创建函数详细说明请参见官方文档。 使用S SMS 等工具连接数据库。 图2 连接数据库 选择需要创建程序集的数据库,添加对应的程序集。 只能创建safe模式(权限集显示为安全),不能创建其他模式。 dll文件会以十六进制的形式存入。如图4所示。 图3 新建程序集 图4 dll文件 执行程序,如图5所示表示执行成功。程序集中新增一个TESTS程序集,如图6所示。 图5 执行结果 图6 TESTS程序集
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格