gauss松鼠会吧
关注: 60 贴子: 1,115

专注于数据库知识与技术的交流与探索

  • 目录:
  • 其他科学相关
  • 1
    8月19日-21日,第39届中国数据库学术会议(NDBC 2022)在山东威海顺利召开并圆满落幕。华为携手数据库领域专家亮相本次大会,为广大与会者带来深度分享,主要包括CCF-华为胡杨林基金-数据库专项论坛、企业之夜、技术分论坛宣讲、NDBC 2022系统演示等。共计十多位数据库领域专家从数据库领域所面临的新挑战,新问题和新方向等不同维度带来技术分享,向参会者介绍数据库前沿科技及未来人才培养方向。共商数据库领域学术界、产业界未来发展之路
  • 14
    当下最有价值的就是数据库,对于一个恶意的黑客来说,你的信息就是他们的“摇钱树”了。 那么黑客一般情况下是如何窃取你的信息的呢?最常见的方法,我们称之为拖库。除了拖库之外,洗库和撞库也是黑客常用的手段来处理窃取来的信息。 一、拖库 拖库就是指黑客通过各种社工手段、技术手段将数据库中敏感信息非法获取,一般这些敏感信息包括用户的账号信息如用户名、密码;身份信息如真实姓名、证件号码;通讯信息如电子邮箱、电话、
  • 0
    创建一个触发器。 触发器将与指定的表或视图关联,并在特定条件下执行指定的函数。 1、语法格式 CREATE [ CONSTRAINT ] TRIGGER trigger_name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table_name [ FROM referenced_table_name ] { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } } [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( condition ) ] EXECUTE PROCEDURE function_name ( arguments ); 2、主要参数说明: CONSTRAINT:可选项,指定此参数将创建约束触发器,即触发器作为约束来使用。除了可
  • 0
    GaussDB中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多,可以通过grant与revoke语法便捷地控制不同用户对各Schema及其下属对象的权限。 1、从便捷性和资源共享效率上考虑,推荐使用Schema进行业务隔离。 2、建议系统管理员创建Schema和Database,再赋予相关用户对应的权限。 Database设计建议 1、【规则】在实际业
  • 0
    GOTO 语句是直观基本的控制流语句,会导致控制流发生无条件更改。它用于分流至使用 SQL 过程中定义的标签的特定用户定义位置。 使用 GOTO 语句通常被视为缺乏编程技巧,并且不推荐这样做。大量使用 GOTO 会导致代码可读性不好,特别是在过程变长时。此外,因为有更好的语句可用于控制执行路径,所以 GOTO 并非必需。没有需要使用 GOTO 的特定情况;使用它通常只是为了方便。 在GaussDB数据库中的概念及语法 1、基本概念 GOTO语句是一种控制语句,它
  • 0
    GaussDB数据库中的常量和变量的基本概述及语法定义 数据库中的变量和常量是两种重要的数据使用类型。变量是可以变化和被修改的,而常量则是固定不变,不能被修改的。 1、变量定义 在GaussDB中,变量是用于存储可变值的数据类型。变量通常在程序中定义,并在执行期间可以更改其值。在GaussDB中,可以使用以下语法来定义变量: DECLARE variable_name data_type; 其中,variable_name 是变量的名称,data_type 是变量的数据类型。例如,要定义一个名为 my_variable 的
  • 0
    数据库对象命名需要满足约束: 1、标识符非时序表长度不超过63个字节,时序表(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)长度不超过53个字符。 2、标识符以字母或下划线开头,中间字符可以是字母、数字、下划线、$、#。 3、若标识符被双引号("")包含,则可以使用合法字符的任意组合,如"123gs_column"。 4、标识符不区分大小写,只有被双引号包含才区分大小写。 5、【建议】避免使用保留或者非保留关键字
  • 0
    索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引,索引建立在哪些字段上,是创建索引前必须要考虑的问题。需要分析应用程序的业务处理、数据使用、经常被用作查询的条件或者被要求排序的字段来确定是否建立索引。 索引建立在数据库表中的某些列上。因此,在创建索引时,应该仔细考虑在哪些列上创建索引。 1、在经常需要搜索查询的列上创建索引,可以加快搜索的速度。 2、在作为
  • 0
    GaussDB数据库支持的分区表为范围分区表、间隔分区表、列表分区表、哈希分区表。 1、范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期,例如将销售数据按照月份进行分区。 2、间隔分区表:是一种特殊的范围分区表,相比范围分区表,新增间隔值定义,当插入记录找不到匹配的分区时,可以根据间隔值自动创建分区。 3、列表分区表:将数据中
  • 0
    近日,2023金融街论坛年会在北京成功举办。活动期间,由北京金融科技产业联盟举办的全球金融科技大会系列活动——分布式数据库金融应用研究与实践大赛获奖结果正式公布。其中,由华为云GaussDB参与支持的工商银行传统集中式数据库平滑迁移解决方案和华夏银行借记卡系统分布式数据库改造创新研究与实践,均获得“十佳卓越实践奖”。 该奖项凝结并展示了分布式数据库在金融领域的优秀应用成果,有助于进一步提升行业创新能力,促进交流合
  • 0
    一、背景信息 schema又称作模式。通过管理schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的schema下而不引起冲突。 管理schema包括:创建schema、使用schema、删除schema、设置schema的搜索路径以及schema的权限控制。 二、注意事项 1、数据库集群包含一个或多个已命名数据库。用户和用户组在整个集群范围内是共享的,但是其数据并不共享。任何与服务器连接的用户都只能访
  • 0
    Navicat Premium(16.2.8 Windows版或以上) 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这使得Navicat 可以极大地满足 GaussDB 不同用户(初级、进阶和高阶)的全方位需求。接下来,我们将为大家介绍Navicat 基于 GaussDB主备版的快速入门。 - Navicat Premium 产品页面: https://navicat.com.cn/products/navicat-premium - 如果你有任何问题,欢迎与我们团队
  • 0
    Navicat Premium(16.2.8 Windows版或以上) 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这使得Navicat 可以极大地满足 GaussDB 不同用户(初级、进阶和高阶)的全方位需求。接下来,我们将为大家介绍Navicat 基于 GaussDB主备版的快速入门。 - Navicat Premium 产品页面: https://navicat.com.cn/products/navicat-premium - 如果你有任何问题,欢迎与我们团队
  • 0
    Navicat Premium(16.2.8 Windows版或以上) 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这使得Navicat 可以极大地满足 GaussDB 不同用户(初级、进阶和高阶)的全方位需求。接下来,我们将为大家介绍Navicat 基于 GaussDB主备版的快速入门。 - Navicat Premium 产品页面: https://navicat.com.cn/products/navicat-premium - 如果你有任何问题,欢迎与我们团队
  • 0
    Navicat Premium(16.2.8 Windows版或以上) 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这使得Navicat 可以极大地满足 GaussDB 不同用户(初级、进阶和高阶)的全方位需求。接下来,我们将为大家介绍Navicat 基于 GaussDB主备版的快速入门。 - Navicat Premium 产品页面: https://navicat.com.cn/products/navicat-premium - 如果你有任何问题,欢迎与我们团队
  • 0
    Navicat Premium(16.2.8 Windows版或以上) 已支持对GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这使得Navicat 可以极大地满足 GaussDB 不同用户(初级、进阶和高阶)的全方位需求。接下来,我们将为大家介绍Navicat 基于 GaussDB主备版的快速入门。 - Navicat Premium 产品页面: https://navicat.com.cn/products/navicat-premium - 如果你有任何问题,欢迎与我们团队
  • 0
    一、背景信息 通过使用表空间,管理员可以控制一个数据库安装的磁盘布局。这样有以下优点: 1、如果初始化数据库所在的分区或者表空间已满,又不能逻辑上扩展更多空间,可以在不同的分区上创建和使用表空间,直到系统重新配置空间。 2、表空间允许管理员根据数据库对象的使用模式安排数据位置,从而提高性能。 1)一个频繁使用的索引可以放在性能稳定且运算速度较快的磁盘上,比如一种固态设备。 2)一个存储归档的数据,很少使用的或
  • 0
    GaussDB支持行列混合存储。行、列存储模型各有优劣,建议根据实际情况选择。 行存储是指将表按行存储到硬盘分区上,列存储是指将表按列存储到硬盘分区上。默认情况下,创建的表为行存储。 1、行、列存储有如下优缺点: 行存优点:数据被保存在一起。INSERT/UPDATE容易。缺点:选择(Selection)时即使只涉及某几列,所有数据也都会被读取。 列存优点:查询时只有涉及到的列会被读取。投影(Projection)很高效。任何列都能作为索引。缺点:选择完成时,
  • 0
    一、前提条件 用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据库。 二、背景信息 1、初始时,GaussDB包含两个模板数据库template0、template1,以及一个默认的用户数据库postgres。 2、CREATE DATABASE实际上通过拷贝模板数据库来创建新数据库。只支持拷贝template0。请避免使用客户端或其他手段连接及操作两个模板数据库。 说明: 模板数据库中没有用户表,可通过系统表PG_DATABASE查看模板数据库属性。 模板template0不允许用户连接;
  • 0
    用户可以使用标准的数据库应用程序接口(如ODBC和JDBC),开发基于GaussDB的应用程序。 支持的应用程序接口 每个应用程序是一个独立的GaussDB开发项目。应用程序通过API与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,增强了应用程序的可移植性、扩展性和可维护性。表1为GaussDB所支持的应用程序接口及其下载地址。 API: 1、ODBC 。 下载地址: Linux下: 驱动程序:GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Odbc.tar.gz unixODBC源码包
  • 0
    数据库中的变量和常量是两种重要的数据使用类型。变量是可以变化和被修改的,而常量则是固定不变,不能被修改的。 1、变量定义 在GaussDB中,变量是用于存储可变值的数据类型。变量通常在程序中定义,并在执行期间可以更改其值。在GaussDB中,可以使用以下语法来定义变量: DECLARE variable_name data_type; 其中,variable_name 是变量的名称,data_type 是变量的数据类型。例如,要定义一个名为 my_variable 的整数变量,可以使用以下语句: DECLARE my_variable INT;
  • 0
    11月8日,以“建设包容、普惠、有韧性的数字世界——携手构建网络空间命运共同体”为主题的2023年世界互联网大会乌镇峰会隆重举行。在大会的“世界互联网大会领先科技奖颁奖典礼”上,华为云GaussDB数据库凭借领先的技术优势在一众申报成果中脱颖而出,成功获得“2023世界互联网大会领先科技奖”。 今年正逢世界互联网大会乌镇峰会的第十年,如今的世界互联网大会已经是一个拥有常设机构的国际组织。大会的世界互联网大会领先科技奖展现
  • 0
    数据库中的变量和常量是两种重要的数据使用类型。变量是可以变化和被修改的,而常量则是固定不变,不能被修改的。 1、变量定义 在GaussDB中,变量是用于存储可变值的数据类型。变量通常在程序中定义,并在执行期间可以更改其值。在GaussDB中,可以使用以下语法来定义变量: DECLARE variable_name data_type; 其中,variable_name 是变量的名称,data_type 是变量的数据类型。例如,要定义一个名为 my_variable 的整数变量,可以使用以下语句: DECLARE my_variable INT;
  • 0
    数据库作为基础软件,其上接应用,下接硬件,地位无比重要,被誉为基础软件“皇冠上的明珠”。为助力国产数据库人才培养,促进产学融合,华为云GaussDB数据库发起3项“教学内容与课程体系改革”项目,旨在通过融入GaussDB国产数据库新技术,支撑高校教师开展数据库教材教辅开发,助推国产数据库高校人才培养改革,培养符合产业需求的高素质人才。 一、项目类型: 教学内容与课程体系改革A类(华为云-GaussDB):编写基于GaussDB《数据库系统》
  • 0
    GaussDB是一种高性能、高可扩展的分布式数据库,广泛应用于各种业务场景。数组表达式是GaussDB数据库中的一种强大功能,它允许用户在数据库查询中使用数组操作符和函数来处理数组类型的数据。通过学习本文,您将了解如何使用GaussDB数据库的数组表达式来简化数据处理流程,提高查询效率,从而更好地满足业务需求。 1、expression IN (value [, ...]) 右侧括号中的是一个数组表达式列表。左侧表达式的结果与表达式列表的内容进行比较。如果列表中的内
  • 0
    1、条件表达式的概念及GaussDB中的常见条件表达式 条件表达式是指在数据库中进行SQL语句查询时,根据特定条件筛选出符合要求的数据所使用的表达式。 在GaussDB数据库中,CASE、DECODE、COALESCE、NULLIF、GREATEST和NVL等都是常用的条件表达式。 1)CASE:根据条件进行多分支判断,根据不同的条件返回不同的结果。 2)DECODE:GaussDB数据库提供的函数功能,相当于SQL语言中的IF-THEN-ELSE语句,根据第一个参数和后续参数进行比较,返回符合条件的结果。 3)COALESCE
  • 0
    1、概念 在GaussDB数据库中,BOOLEAN表达式是一种很常见的表达式类型,它用于比较两个条件,来确定其是否为真或假。BOOLEAN表达式可以用于条件判断或在循环语句中作为终止条件。其语法非常简单,只需要使用逻辑运算符对两个条件进行比较。GaussDB SQL支持AND、OR等逻辑运算符,这些运算符可以将结果组合成更复杂的布尔表达式。 2、组成 运算符:比较运算符(如=、<>、<、>、<=、>=)和逻辑运算符(如AND、OR、NOT等)。 操作数:用于比较的
  • 0
    1、初始用户 集群安装过程中自动生成的账户称为初始用户。初始用户也是系统管理员、监控管理员、运维管理员和安全策略管理员,拥有系统的最高权限,能够执行所有的操作。如果安装时不设置初始用户名称则该账户与进行集群安装的操作系统用户同名。如果在安装集群时不设置初始用户的密码,安装完成后密码为空,在执行其他操作前需要通过gsql客户端设置初始用户的密码。如果初始用户密码为空,则除修改密码外无法执行其他SQL操作以及升级
  • 0
    数据库对象创建后,进行对象创建的用户就是该对象的所有者。集群安装后默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户。 为使其他用户能够使用对象,必须向用户或包含该用户的角色授予必要的权限。 GaussDB支持以下的权限:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、CREATE、CONNECT、EXE
  • 0
    1、JDBC实例必须指定数据库,一旦实例创建,无法切换数据库。 2、单条SQL语句的长度不允许超过2G字节,业务应考虑通信成本,建议单条SQL语句不超过5K行。 3、不支持对DDL使用Prepare Execute执行方式。 4、fetchsize必须要在autocommit关闭情况下使用,否则fetchsize配置无效。 5、使用默认GUC参数,避免通过JDBC发送SET请求修改GUC参数。 6、必须推荐使用Prepare Execute方式执行查询语句,提高执行效率。 7、JDBC客户端所在主机时区、数据库集群所在主机时区和集群配
  • 0
    数据库迁移是一项系统工程,需要完善的方法论,高效的工具和成熟的产品。在“国产数据库深度使用研讨会”上,华为云数据库专家们与伙伴和客户一起围绕金融客户对自主创新数据库的使用、迁移过程中如何快速适配业务和提供长期的服务能力等问题展开了深度研讨,并分享了华为云数据库的“GaussDB+UGO+DRS”一站式迁移上云解决方案。 异构数据库迁移是一项大工程,企业需要考虑如何选择合适的目标数据库、迁移的风险、工作量、如何提升迁移
  • 0
    掌数科技是一家聚焦于证券和大资管行业,面向数据库和大数据技术、数智化场景应用以及行业信息技术应用创新领域的金融科技企业。作为华为云GaussDB的优秀合作伙伴,掌数科技解决方案总经理高星分享了GaussDB迁移灾备整体解决方案保障金融核心系统数字化转型的实践。 高星表示,掌数科技致力于成为国内GaussDB生态中最优秀的服务商之一,通过建设行业客户急需的GaussDB完整配套软件,打造面向客户与合作伙伴的GaussDB技术支撑与服务军团,完善Gau
  • 0
    10月27日,华为云GaussDB数据库城市沙龙·安徽站圈层活动顺利举行。活动邀请了金融行业代表及伙伴,一起围绕数据库展开了金融行业数字化转型解决方案与成功实践交流,共同推动国内数据库在金融行业的发展和落地。华为云安徽解决方案总经理万兴华、华为云数据库解决方案架构师马海旭、郭凤鸣和上海掌数科技有限公司解决方案总经理高星分享了华为云GaussDB的技术创新能力和在金融行业的联创实践。 华为云安徽解决方案总经理万兴华在致辞中表
  • 0
    华为云GaussDB具备“五高两易”的核心技术竞争力,即高可用、高性能、高安全、高弹性、高智能、易部署、易迁移,充分满足金融客户对数据库的严苛要求。GaussDB与工行联创推出了国内首个双集群强一致方案,实现了数据库单集群故障的完全隔离,保障数据零丢失。对于客户关注的性价比、平滑迁移等问题,GaussDB将支持基于语义感知的数据压缩,实现65%的压缩效率,也提供轻量化、零侵入的压缩方案,保证合理压缩率的同时,对业务的影响能降到5%
  • 0
    1、禁止一条SQL语句中,出现重复子查询语句。 2、少用标量子查询。 标量子查询指结果为1个值,并且条件表达式为等值的子查询。 3、避免在SELECT目标列中使用子查询,可能导致计划无法下推影响执行性能。 4、子查询嵌套深度建议不超过2层。由于子查询会带来临时表开销,过于复杂的查询应考虑从业务逻辑上进行优化。 #gaussdb#
  • 0
    1、多表关联嵌套深度必须小于8。 2、关联嵌套过深,容易产生慢sql,应从业务层考虑优化。 表关联查询必须明确指定各表的连接条件(ON),以避免产生笛卡尔积。 例如在MySQL中,JOIN与CROSS JOIN和INNER JOIN等价,但是在SQL标准中,JOIN仅与INNER JOIN等价,必须配合使用ON连接条件。 3、关联时,应该根据SQL标准指明连接方式,避免直接使用JOIN关键词,而是使用CROSS JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN等。 4、多表关联查询时, 必须应对表添加使用别名,保证语句逻
  • 0
    1、不支持DELETE语句中使用LIMIT。应使用WHERE条件明确需要更新的目标行。 2、在GMT-FREE模式下,不允许跨节点事务,因此删除HASH分布表中数据时,必须在WHERE条件中指定分布列等值过滤条件。 3、不支持多表删除。多表删除即在单条SQL语句中,对多个表进行删除。 4、DELETE语句中必须有WHERE子句,避免全表扫描。 5、DELETE语句中禁止不应使用ORDER BY、GROUP BY子句,避免不必要的排序。 6、如果需要清空一张表,建议使用TRUNCATE,而不是DELETE。 TRUNCATE会创建新
  • 0
    1、不支持UPDATE语句中直接使用LIMIT,应使用WHERE条件明确需要更新的目标行。 2、在GTM-FREE模式下,不允许跨节点事务,因此更新HASH分布中数据表时WHERE条件中必须指定分布列等值过滤条件。 3、不支持多表更新。多表更新即在单条SQL语句中,对多个表进行更新。 4、UPDATE语句中必须有WHERE子句,避免全表扫描。 不允许在UPDATE子句同时更新多个列时,被更新列同样是更新源。 同时更新多列,且更新源相同,在不同的数据库下行为不同,为了避免带来兼容
  • 0
    1、INSERT ON DUPLICATE KEY UPDATE不支持对主键或唯一约束的列上执行UPDATE。 INSERT ON DUPLICATE KEY UPDATE的语义是对唯一约束冲突的行进行更新,这个过程中不应对约束的值进行更新。 2、INSERT ON DUPLICATE KEY UPDATE如果插入多条数据,这些数据之间不允许存在主键/唯一约束冲突。 与MySQL行为存在一定差异,MYSQL允许此行为,例如如下语句: INSERT INTO t1 VALUES(1, 1), (1, 2) ON DUPLICATE KEY UPDATE col2 = VALUES(col2); 不符合SQL标准,SQL标准不允许在同一条SQL COMMAND中,对插入行同时
  • 0
    1、SELECT语句中慎用通配符字段“*”。 使用通配符字段查询表时,如果因业务或数据库升级导致表结构发生变化,可能出现与业务语句不兼容的情况。 因此业务应指明所需查询的表字段名称,避免使用通配符。 2、带有LIMIT的查询语句中必须带有ORDER BY保证有序。 说明:GaussDB是一种分布式数据库,表数据将分布在多个DN上。 如果SQL语句中只带有LIMIT,而不带有ORDER BY子句,数据库将会把网络传输较快的DN所发送的(符合查询要求的)结果作为最终结果输
  • 0
    1、表查询时,WHERE条件中应包含所有分布键字段等值查询条件,否则将在多个节点上进行查询,影响系统并发度和性能。 2、禁止在WHERE条件相同表字段进行相互比较。 3、禁止WHERE条件涉及隐式数据类型转换。 数据库中进行隐式转换后可能导致无法使用所创建的索引,导致潜在的性能问题。 强烈建议在开发过程中开启GUC参数check_implicit_conversions,并关闭enable_fast_query_shipping,以便检查询语句中是否存在可能带来不良性能影响的隐式数据类型。 由于隐式
  • 0
    客户端(如JDBC)应使用默认(全局)参数执行查询,禁用会话级别的GUC参数。 通过ODBC或JDBC修改GUC参数时,需注意GUC参数仅会在当前connection中生效,特别是在连接池场景下,容易发生问题,且导致问题定位困难。 如果在连接中必须进行GUC参数设置,那么在将连接归还给连接池之前,必须使用 SET SESSION AUTHORIZATION DEFAULT; RESET ALL; 将连接的状态清空。
  • 0
    1、避免使用存储过程、触发器等实现业务逻辑,应该将这些逻辑都放到业务服务器上处理,避免对数据库产生逻辑依赖。 2、业务的数据库升级脚本中,禁止使用存储过程实现升级逻辑。 3、仅创建对固定入参有固定返回值的函数,函数必须设为IMMUTABLE和SHIPPABLE类型。 目前数据库支持三种类型的函数,分别是IMMUTABLE, STABLE, VOLATILE。 对于IMMUTABLE函数且设置为SHIPPABLE的函数,会允许函数在DN上执行。在大部分场景下,该函数的执行效率较高。 但是此类函
  • 0
    1、使用数据库索引实践推荐的索引类型。 索引设计建议使用推荐类型,如果需要使用禁用、不推荐、限制使用的索引类型,建议联系GaussDB数据库专家进行评估。 数据库索引实践推荐 1)主键/唯一索引,单列或多列主键/唯一索引,推荐 2)表达式索引,索引列为表的一列或多列计算而来的一个函数或者标量表达式,限制使用 2、对于HASH分布表,主键和唯一索引必须包含分布键。 3、合理设计组合索引,避免冗余。 例如已对(a,b,c)创建索引,则不应再单
  • 0
    GaussDB数值类数据类型存储空间及取值范围: 1、TINYINT,存储空间/Byte:1; 最小值:0,最大值:255 2、SMALLINT,存储空间/Byte:2;最小值:-32768,最大值:32767 3、INTEGER,存储空间/Byte::4;最小值:-2,147,483,648,最大值:2,147,483,647 4、BIGINT,存储空间/Byte:8; 最小值:-9,223,372,036,854,775,808,最大值:9,223,372,036,854,775,807 5、REAL/FLOAT4,存储空间/Byte:4;6位十进制数字精度 6、DOUBLE PRECISION/FLOAT8,存储空间/Byte:8; 15位十进制数字精度
  • 0
    GaussDB数据库数据类型最佳实践: 1、UUID,不同集群可能产生相同UUID,禁止,建议业务直接采用中间件平台提供的分布式ID 2、序列整型,即自增列,包括SMALLSERIAL,SERIAL,BIGSERIAL,禁止 3、整数类型,TINYINT, SMALLINT, INTEGER, BIGINT,推荐 4、任意精度类型,NUMERIC/DEMICAL,推荐 5、浮点类型,REAL/FLOAT4,DOUBLE PRECISION/FLOAT8,FLOAT,推荐 6、布尔类型,BOOLEAN,推荐 7、定长字符,CHAR(n),推荐 8、变长字符,VARCHAR(n),NVARCHAR2(n),VARCHAR/TEXT,推荐 9、时间类型,DATE, TIME, TIMESTAM
  • 0
    1、必须指定表分布(DISTRIBUTE BY),表分布策略选择的原则如下: 目前提供REPLICATION和HASH两种表分布策略。REPLICATION分布会在每个节点保留一份相同的完整的数据表。HASH分布会根据所提供的分布键值将表数据分布到多个节点中。 1)对于系统配置表、数据字典表等数据规模小于2000w且插入更新十分低频的表,要求建议采用REPLICATION分布。 须知:慎用REPLICATION分布,该分布表会造成空间膨胀、DML性能下降等负面影响。 2)对于数据量较大,更新频率较高的
  • 0
    1、基本概念 搜索CASE表达式是指在给定的表达式上执行基于不等式的比较,如果表达式满足给定的条件,则执行相应操作。即按指定顺序为每个WHEN子句的boolean_expression求值。返回第一个取值为TRUE的boolean_expression的result_expression。 2、基本语法 CASE WHEN boolean_expression THEN result_expression [...n] [ELSE else_result_expression] END 说明:其中,boolean_expression等表示需要比较的条件,result_expression等表示满足对应条件时的操作结果,else_result_expression表示当expression不满足任
  • 0
    1、基本概念 简单CASE表达式是指在给定的表达式上执行基于等式的比较,如果表达式等于某个值,则执行某个操作。即依据input_expression与when_expression的匹配结果跳转到相应的result_expression。 2、基本语法 CASE input_expression WHEN when_expression THEN result_expression [...n] [ELSE else_result_expression] END 说明:其中,input_expression表示需要比较的表达式,when_expression等表示需要比较的值,result_expression等表示各个值相等时的结果,else_result_expression表示当input_expression不等于

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

本吧信息 查看详情>>

会员: 会员

目录: 其他科学相关