分布式:1.扩容不方便(数据重分布)2.分布变更很麻烦3.分布选择(架构设计)谨慎4.跨库join性能差5.分布式事务性能差6.sql限制多,功能确实多7.应用改造成本巨大8.全局一致性时间点恢复几乎不可能实现一、PGSQL 常规操作citus 分库分表:备库:max_standby_archive_delay =-1max_standby_streaming_delay=-1表示备库查询完成
转载 2024-04-03 08:30:48
1289阅读
文章目录分布式主键是什么?什么情况下使用分布式主键?几种合适的分布式主键方案分布式主键的应用 分布式主键是什么?        我们知道分布式,也知道主键,可将两个词组合起来“分布式主键”,又是什么呢?        分布式主键是一种用于
转载 2024-04-28 21:21:40
33阅读
目录文章目录目录PostgreSQL 的外关联创建表时定义外(References,参照)修改原有表的外约束删除外约束参考文档PostgreSQL 的外关联一个外约束指定一列(或一组列)中的值必须匹配出现在另一个表中某些行的值。我们说这维持了两个关联表之间的引用完整性。注意,一个从表外所引用的主表 Column 必须是一个主键或者是被唯一约束所限制的。这意味着主表被引用的列总是拥有一个索引(位于主键或唯一约束之下的索引),因此在其上进行的一个引用行是否匹配的检查将会很高效。创建表时定义
原创 2021-07-14 14:09:44
2549阅读
目录文章目录目录PostgreSQL 的外关联创建表时定义外(References,参照)修改原有表的外约束删除外约束参考文档PostgreSQL 的外关联一个外约束指定一列(或一组列)中的值必须匹配出现在另一个表中某些行的值。我们说这维持了两个关联表之间的引用完整性。注意,一个从表外所引用的主表 Column 必须是一个主键或者是被唯一约束所限制的。这意味着主表被引用的列总是拥有一个索引(位于主键或唯一约束之下的索引),因此在其上进行的一个引用行是否匹配的检查将会很高效。创建表时定义
原创 2022-03-22 09:56:59
2862阅读
根据一个表名,查询所有外引用它的表,以及那些外的列名key_column_usage(系统列信息表),pg_constraint(系
原创 2022-09-21 17:54:36
1364阅读
PostgreSQL支持基本的表分区功能。本文描述为什么需要表分区以及如何在数据库设计中使用表分区。 1. 概述分区的意思是把逻辑上的一个大表分割成物理上的几块。分区可以提供若干好处:某些类型的查询性能可以得到极大提升。特别是表中访问率较高的行位于一个单独分区或少数几个分区上的情况下。分区可以减少索引体积从而可以将高使用率部分的索引存放在内存中。如果索引不能全部放在内存中,那么在索引上的读和写都
转载 2024-04-24 21:16:06
159阅读
postgreSQL的认证配置文件pg_hba.conf配置文件pg_hba.conf的位置pg_hba.conf可以出现在许多其他地方,具体取决于Pg的安装方式。通常情况下路径为/etc/postgresql/[VERSION]/main/pg_hba.conf通过shell命令获得(此命令必须使用同具有超级用户权限的数据库用户名相同的操作系统用户名,例如postgres,sudo su pos
转载 2024-04-19 13:18:16
55阅读
级联删除A表中字段依赖于B表中对应字段,如果删除B表中的
原创 2022-07-12 11:43:22
343阅读
1. 索引的特性1.1 加快条件的检索的特性当表数据量越来越大时查询速度会下降,在表的条件字段上使用索引,快速定位到可能满足条件的记录,不需要遍历所有记录。create table t(id int, info text); insert into t select generate_series(1,10000),'lottu'||generate_series(1,10000); create
本文参考了一  创建和使用分区表1.范围分区(RANGE)范围分区将数据基于范围映射到每一个分区,这个范围是你在创建分区时指定的分区决定的。这种分区方式是最为常用的,并且分区经常采用日期。当使用范围分区时,请考虑以下几个规则:1)每一个分区都必须有一个VALUES LESS THEN子句,它指定了一个不包括在该分区中的上限值。分区的任何值等于或者大于这个上限值的记录都会被加入到下一
启动虚拟机 $ cd greenplum $ vagrant up连接master: $ vagrant ssh mdw $ su - gpadmin $ Enter the password. The password is "changeme"启动GP: gpstart 查看gp的状态: gpstate1.       数据
1、SQL语句字符全部大写             在一堆代码中间找一行全部大写的字符相对容易些,你的眼睛会感谢你。      设置方法:菜单Tools --> Preferences --> Editor --> Keyword Case --> Uppercas
转载 2024-03-25 09:38:57
231阅读
1、查看greenplum分布selectd.nspname||'.'||a.relnameastable_name,b.attnameascolumn_namefrompg_catalog.pg_classainnerjoinpg_catalog.pg_attributebona.oid=b.attrelidinnerjoinpg_catalog.gp_distribution
原创 2019-01-08 21:55:02
4311阅读
PostgreSQL数据库中,外是维护数据一致性的重要工具,但不合理的使用可能导致性能问题。以下是针对外的优化策略,结合具体场景和操作建议,帮助提升数据库效率:一、外索引优化为外字段创建索引外字段的索引能显著加速关联查询和约束检查。例如,在订单表(orders)的用户ID外上创建索引:CREATE INDEX idx_orders_user_id ON orders(user_id)
原创 精选 7月前
238阅读
添加、删除外约束外:引用另一个表中的一列或多列,被引用的列应有主键约束,或者唯一性约束。外用于加强两个表之间的链接。(表示表和表之间的参照关系,使数据库帮助维护种关系,这种就是表与表之间的外。若在后续增删改数据破坏了这种外约束,数据库会报错。添加外创建表时创建foreign key(本表属性名) references 外表名(属性);例 先创建一个表create table dept
 前序这篇文章我主要是用300万的表,来测试分布式的shadkey的性能优势;总的来说,多表关联查询时,如果走shardkey性能会根据分片数有质的提升,反之,如果不走shardkey,多表关联查询还不如单机;单表查询时,无论走不走分布shadkey,性能都是优于单机的。一、腾讯云TDSQL架构TDSQL(MYSQL)是腾讯自研的一套基于MySQL内核云数据库,它集成数据库的运维、监控
转载 2024-01-17 12:05:48
53阅读
  我们在做资讯类的网站的时候,肯定会有这么一个需求,就是在资讯内容页的下方需要给出上一篇和下一篇资讯的链接。上次我一同事兼好友兼室友就遇到了这么一个需求,一开始我们都把问题想复杂了,先取的是符合条件的资讯信息集合,然后再找到当前这条资讯信息在集合中的索引,通过索引再找到他的上一篇资讯和下一篇资讯信息,这种做法确实是可以实现这个需求,但是一旦资讯信息的数量过大,很有可能因为这段代码导致整个资讯内容
--============================ -- PL/SQL --> 动态SQL的常见错误 --============================ 动态SQL在使用时,有很多需要注意的地方,如动态SQL语句结尾处不能使用分号(;),而动态PL/SQL结尾处需要使用分号(;),但不能使用正 斜杠结尾(/),以及shcema对象不能直接作为变量绑定。本文介
SELECT col_description(a.attrelid,a.attnum) as comment,format_type(a.atttypid,a.atttypmod) as type,a.attname as name, a.attnotnull as notnull  FROM pg_class as c,pg_attribute as a  where c.r
原创 2015-08-19 09:43:10
882阅读
事务有点像是原子操作,需要有完整性,要么全都完成了,要么全都没完成,事情不能只做一半。锁主要两种,共享锁和排它锁,可读不可写以及不可读写,以及细粒度的行级锁。子查询的话,其实就是嵌套的sql查询语句,和with有一定的相似。这次我们来介绍点自增,权限和时间自增        自增,顾名思义就是自动增长,会在新纪录插入表
  • 1
  • 2
  • 3
  • 4
  • 5