
数据库
文章平均质量分 67
数据库的开发与使用
咸鱼布衣
目前在搞实验室,杭州的有意者联系
展开
-
postgres 逻辑复制
移除订阅时,需要保留复制槽。通常这个远端的复制槽是自动管理的,在CREATE SUBSCRIPTION时自动创建,在DROP SUBSCRIPTION时自动删除。这种情况下,您必须在远端手工创建复制槽后,才能在本地启用该订阅。移除订阅时,远端不可达。这种情况下,需要在删除订阅之前使用ALTER SUBSCRIPTION解除复制槽与订阅的关联。创建订阅时,所需的复制槽已经存在。创建订阅时,远端不可达或状态不明朗,则可以通过connect =每个活跃的订阅都会通过复制槽 从远程发布者接受变更。原创 2024-07-20 17:40:57 · 755 阅读 · 0 评论 -
postgres 的WAL日志膨胀的几种原因
原因是如果没有这种机制,主库执行UPDATE并VACUUM了,由于主库上已经不存在使用被更新元组的事务,VACUUM 会将这些元组清理掉,当 备库回放到 VACUUM 对应的日志时,检测到当前 VACUUM 清理的元组仍然被这个长时间的查询使用,则会阻塞备库的WAL日志应用,导致备库有很大的延迟。如果逻辑复制或物理复制停掉了,但一时半会还启动不起来,而主库的空间又要慢了,这时可以强制把复制槽给删除掉,注意删除掉逻辑复制的复制槽后,逻辑复制的同步就废弃了,后续的恢复需要做全量的数据恢复。原创 2024-07-19 23:53:17 · 1422 阅读 · 0 评论 -
utf8和utf8mb4的区别(mysql)
https://www.cnblogs.com/cuiqq/p/11045487.html原创 2021-01-05 23:21:41 · 162 阅读 · 0 评论 -
mysql数据库索引 MyISAM 索引与InnoDB 索引
mysql基础操作,与一般的sql数据库一样,是增删查改简单的学习菜鸟:https://www.runoob.com/mysql/mysql-tutorial.html什么是索引在关系型数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单简单理解就是重新建一个目录,到时候查这目录’然后再返回去找原先那个数据表。可以快速增加查询速度,但会减慢增删改操作。https..原创 2021-03-12 10:35:46 · 235 阅读 · 0 评论 -
使用索引查询一定能提高查询的性能吗?为什么? mysql问题(二)
使用索引查询不一定能提高查询的性能Cardinality 索引基数索引基数简单的说就是:你索引列的唯一值的个数,如果是复合索引就是唯一组合的个数。这个数值将会作为MySQL优化器对语句执行计划进行判定时依据。如果唯一性太小,那么优化器会认为这个索引对语句没有太大帮助,而不使用索引。cardinality值越大,就意味着,使用索引能排除越多的数据,执行也更为高效。有时候记录更新,但索引基数没有更新,需要使用analyzetable更新索引基数。ps:当MySQL数据库做FLUSH TABLES t原创 2021-10-11 00:10:59 · 3662 阅读 · 1 评论 -
为什么表数据删掉一般,表文件大小不变 mysql问题(一)
InnoDB分两部分,表结构定义和数据。MySQL8.0之前表结构在.frm的文件中,8.0以后的版本允许放在系统表中,因为表结构定义占用空间其实很小。每个 InnoDB 表数据存储在一个以 .ibd为后缀的文件中。数据表可以存在共享表空间,也可以存单独的文件,由innodb_file_per_table这个参数控制,参数的值有两种:OFF:表示表数据存放在共享表空间,和数据字典放在一起ON:表示表数据存储再.ibd后缀的文件中MySQL5.6.6版本以后默认设置为ON。不过建议无论在哪里都设原创 2021-10-09 23:29:01 · 355 阅读 · 0 评论 -
mysql数据库InnoDB 索引 索引下推与回表
回表操作 当所要查找的字段不在非主键索引树上时,需要通过叶子节点的主键值去主键索引上获取对应的行数据,这个过程称为回表操作。 索引下推 索引下推主要是减少了不必要的回表操作。对于查找出来的数据,先过滤掉不符合条件的,其余的再去主键索引树上查找。 在 Mysql 5.6 版本之前是没有索引下推这个功能的,从 5.6 版本后才加上了这个优化项。所以在引出索引下推前还是先回顾下没有这个功能时是怎样一种处理方式。我们以一个真实例子来进行讲解。在这里有张用户表 user,记录着用户的.原创 2021-03-16 15:16:18 · 643 阅读 · 0 评论 -
mysql优化
说说对 SQL 语句优化有哪些方法?Where子句中:where表之间的连接必须写在其他 Where 条件之前,那些可以过滤掉最大数量记录的条件必须写在Where子句的末尾和HAVING 最后。用EXISTS替代IN,用NOT EXISTS替 NOT IN。避免在索引列上使用计算、IS NULL和IS NOT NULL对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎原创 2021-10-24 22:56:27 · 139 阅读 · 1 评论 -
pgsql的主备数据库 standby数据库搭建
pg_basebackup 工具在 /home/postgres/bin目录下。原创 2023-05-16 19:27:50 · 734 阅读 · 0 评论 -
windows pgsql 数据库 数据目录更改
修改完毕后,可以用psql命令“show data_directory”查看当前数据目录。将“-D”后的目录名修改为新的数据目录位置即可,如果目录路径中含有空格,需要用引号引起。将原来数据目录拷贝新的数据目录。原创 2023-11-19 20:12:50 · 808 阅读 · 0 评论 -
pgsql 清理碎片
查看所有表格的大小 SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS sizeFROM information_schema.tablesORDER BYpg_total_relation_size('"' || table_schema ||原创 2022-02-14 23:22:18 · 1655 阅读 · 0 评论 -
postgres 的dblink使用,远程连接数据库
另外需要注意是否在public下,不在public下,在public下运行会错误。第二个参数是要执行的SQL查询语句。AS子句用于指定返回结果的列名和数据类型。其中,第一个参数是dblink名字,也可以是连接字符串。长期连接注意需要关闭连接,本身不会自动关闭连接。原创 2024-07-10 23:43:56 · 610 阅读 · 0 评论