云服务器内容精选

  • GaussDB 都有哪些通配符,如何使用? 答: GaussDB数据库 支持以下三种通配符: %:表示任意数量的字符,包括0个,用于LIKE和NOT LIKE语句中。 _:表示一个字符,用于LIKE和 NOT LIKE语句中。 *:表示任意数量字符,包括0个,在部分元命令中使用。 示例: --任意数量字符的通配符使用,查询tbl_test表中以col1字段以ab开头任意多个字符结尾的数据。 gaussdb=# SELECT * FROM tbl_test WHERE col1 LIKE 'ab%'; --一个字符的通配符使用,查询tbl_test表中col1字段以a开头b结尾中间任意单个字符串的数据。 gaussdb=# SELECT * FROM tbl_test WHERE col1 LIKE 'a_b'; --查询所有以tbl开头的表。 gaussdb=# \dt tbl* 父主题: FAQ
  • 唯一约束和唯一索引有什么区别? 答:唯一约束和唯一索引的主要区别如下: 唯一约束和唯一索引概念不同。 唯一约束确保一列或者一组列中包含的数据对于表中所有的行都是唯一的。 如果没有声明DISTRIBUTE BY REPLICATION,则唯一约束的列集合中必须包含分布列。唯一索引用于限制索引字段值的唯一性,或者是多个字段组合值的唯一性。CREATE UNIQUE INDEX创建唯一索引。 唯一约束和唯一索引功能不同。 约束主要是为了保证数据的完整性,索引主要是为了辅助查询。 唯一约束和唯一索引使用方法不同。 创建唯一约束,会自动创建一个同名的唯一索引,该索引不能单独删除,删除约束会自动删除索引。唯一约束是通过唯一索引来实现数据的唯一。 创建一个唯一索引,这个索引是独立的,并且可以单独删除。 如果一个列上想有约束和索引,且两者可以单独的删除。可以先建唯一索引,再建同名的唯一约束。 如果表的一个字段,要作为另外一个表的外键,这个字段必须有唯一约束(或是主键),如果只是有唯一索引,就会报错。 父主题: FAQ
  • 如何查看某张表创建时间? 答:在系统视图PG_TABLES里created字段的取值为表的真实创建时间。 --创建表。 gaussdb=# CREATE TABLE test(id int, name varchar(10)); --查询test表创建时间。 gaussdb=# SELECT tablename,created FROM pg_tables WHERE tablename = 'test'; tablename | created -----------+------------------------------- test | 2024-01-12 14:50:59.611988+08 (1 row) 父主题: FAQ
  • count(*)和count(column)的区别是什么? 答:count()函数用于计算行数的聚合函数,区别如下: count(*)统计包括了所有列的行数,在统计结果时不会忽略值为NULL的数据。 count(column)只包括列名那一列,在统计结果时会忽略值为NULL的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE test(c1 int); gaussdb=# INSERT INTO test VALUES(1),(2),(3); gaussdb=# INSERT INTO test VALUES(NULL); --count(*)统计行数,不忽略值为NULL的数据。 gaussdb=# SELECT count(*) FROM test; count ------- 4 (1 row) --count(column)统计行数,忽略值为NULL的数据。 gaussdb=# SELECT count(c1) from test; count ------- 3 (1 row) --删除。 gaussdb=# DROP TABLE test; 父主题: FAQ
  • 空字符串和NULL的关系? 答:GaussDB中对空字符串是否为NULL和数据库的兼容模式有关。 ORA兼容模式中空字符串判断为NULL。 gaussdb=# CREATE DATABASE db_test1 DBCOMPATIBILITY = 'ORA'; gaussdb=# \c db_test1 db_test1=# SELECT '' IS NULL; ?column? ---------- t (1 row) MYSQL兼容模式中空字符串判断不为NULL。 gaussdb=# CREATE DATABASE db_test2 DBCOMPATIBILITY = 'MYSQL'; gaussdb=# \c db_test2 db_test2=# SELECT '' IS NULL; ?column? ---------- f (1 row) 父主题: FAQ
  • 复制表适用于哪些场景? 答:复制表是将表中的所有数据复制到集群中每一个DN实例上,即每个DN一个副本 。如下场景建议使用复制表: 较小的表(大小2G以下),如星型结构中的维度数据表。 不会频繁插入/更新/删除数据的表。 经常进行简单查询的表。复杂查询(条件含LIKE或NOT LIKE)的表,不建议使用复制表。这种复杂查询会对表的每行进行计算,显然这种情况下计算分布在所有节点时性能最佳,如果是复制表,只会在一个节点运行。 父主题: FAQ
  • 什么是数据倾斜,如何检查? 答:数据倾斜即多个DN内数据分布不均,对于hash分表策略,如果分布列选择不当,可能导致数据倾斜,查询时部分DN出现效率短板,从而影响整体查询性能。因此在采用Hash分表策略之后需对表的数据定期进行数据倾斜性检查或监控,以确保数据在各个DN上是均匀分布的。执行如下语句,查看各DN内元组数目。 gaussdb=# SELECT a.count,b.node_name FROM (SELECT count(*) AS count,xc_node_id FROM tablename GROUP BY xc_node_id) a, pgxc_node b WHERE a.xc_node_id=b.node_id ORDER BY a.count DESC; 如果各DN内元组数目相差较大(如相差数倍、数十倍),则表明已发生数据倾斜现象。需要重新选择分布列,当前不支持通过ALTER TABLE语句调整分布列,因此调整分布列时需要重新建表。 父主题: FAQ
  • GaussDB支持动态内存管理吗? 答:支持。动态内存使用方法均基于内存上下文管理,在内存上下文的机制上,引入了逻辑内存管理机制,同时提供多项视图追踪内存使用情况。当前GaussDB Kernel的内存管理分为两级,分别是: 内存节点级别控制:通过max_process_memory参数限制DN上可以使用的内存上限。 内存作业级别控制:限制单条query语句最大可使用的内存上限。 父主题: FAQ
  • 空字符串和NULL的关系是什么? 答:GaussDB中对空字符串是否为NULL和数据库的兼容模式有关。 A兼容模式中空字符串判断为NULL。 gaussdb=# CREATE DATABASE db_test1 DBCOMPATIBILITY = 'A'; gaussdb=# \c db_test1 db_test1=# SELECT '' IS NULL; ?column? ---------- t (1 row) B兼容模式中空字符串判断不为NULL。 gaussdb=# CREATE DATABASE db_test2 DBCOMPATIBILITY = 'B'; gaussdb=# \c db_test2 db_test2=# SELECT '' IS NULL; ?column? ---------- f (1 row) 父主题: FAQ
  • 如何并行创建索引? 答:参考如下方法: --设置maintenance_work_mem参数根据实际情况调整该大小。 gaussdb=# SET maintenance_work_mem = '8GB'; --建表。 gaussdb=# CREATE TABLE table_name (col1 int, col2 int); --修改表创建索引的线程数量,需根据实际情况修改线程数。 gaussdb=# ALTER TABLE table_name SET (parallel_workers=4); --创建索引。 gaussdb=# CREATE INDEX index_name ON table_name(col1); --重置该表的parallel_workers参数。 gaussdb=# ALTER TABLE table_name RESET (parallel_workers); --删除索引。 DROP INDEX index_name; --删除表。 gaussdb=# DROP TABLE table_name; 父主题: FAQ
  • ModelArts依赖的OBS权限自定义策略样例 如下示例为ModelArts依赖OBS服务的最小化权限项,包含OBS桶和OBS对象的权限。授予示例中的权限您可以通过ModelArts正常访问OBS不受限制。 { "Version": "1.1", "Statement": [ { "Action": [ "obs:bucket:ListAllMybuckets", "obs:bucket:HeadBucket", "obs:bucket:ListBucket", "obs:bucket:GetBucketLocation", "obs:object:GetObject", "obs:object:GetObjectVersion", "obs:object:PutObject", "obs:object:DeleteObject", "obs:object:DeleteObjectVersion", "obs:object:ListMultipartUploadParts", "obs:object:AbortMultipartUpload", "obs:object:GetObjectAcl", "obs:object:GetObjectVersionAcl", "obs:bucket:PutBucketAcl", "obs:object:PutObjectAcl" ], "Effect": "Allow" } ] }
  • ModelArts开发环境使用权限的自定义策略样例 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:notebook:list", "modelarts:notebook:create" , "modelarts:notebook:get" , "modelarts:notebook:update" , "modelarts:notebook:delete" , "modelarts:notebook:action" , "modelarts:notebook:access" ] } ] }
  • 日志索引流量费用变化说明 “索引配置”功能上线公测期间,对于未配置索引或者配置全文索引的场景,labels字段支持搜索,但暂不收取索引流量费用,该特性在2024年7月转商用后,恢复对所有字段的索引流量收费。 例如以下日志示例内容,其中finishLog、func_urn、function为上报的labels字段。 "content": "this is a test log", "finishLog": "finish log", "func_urn": "func_urn", "function": "test001" “索引配置”功能上线公测期间,对于未配置索引或者配置全文索引的场景,上述字段均支持搜索,但只收取content的索引流量费用,该特性在2024年7月转商用后,content及finishLog、func_urn、function字段均会收取索引流量费用。 父主题: 计费FAQ
  • 第三方平台的直播画面突然中断是怎么回事? 可能是MetaStudio控制台自动退出登录导致。 排查和修改方法,如下所示: 在MetaStudio控制台直播间开播成功时,需要参考图1,单击URL地址右侧的拦截图标,从下拉框中选择允许弹出窗口。 图1 直播间开播 单击“完成”,会新增弹出如图2和图3所示的2个浏览器窗口。 MetaStudio控制台超过10分钟不操作,默认会退出登录,导致第三方直播平台的直播画面也中断。需要确保图3的窗口始终是打开的,直播过程中一定不能关闭,这样第三方直播平台的直播才能顺利完成。 图2 直播窗口 图3 确保直播过程不中断的窗口 父主题: FAQ
  • KooMap服务采用哪种计费模式,如何计费 计费模式:KooMap支持按需计费和套餐包两种计费模式。按需计费根据用户实际使用量和使用时长计费。这种计费方式比较灵活,可以按需开通和释放资源。套餐包是一种先付费再使用的计费模式,适用于对产品需求稳定且希望降低成本的用户。 计费规则: 卫星影像生产服务总费用 = 时空专属存储费用 + 各个基础处理服务费用 AR地图运行服务基础版总费用 = 时空专属存储费用 (公测时间不收取费用)+ 视觉定位和AR导航调用费用 实景三维生产服务总费用 = 时空专属存储费用 + 实景三维生产服务费用(基础版或专业版) AR地图生产服务总费用 = 时空专属存储费用(公测时间不收取费用) + AR地图生产服务费用 父主题: 计费FAQ