- 博客(16)
- 收藏
- 关注
原创 数据库中的连接那些事儿
Merge Join(合并连接)定义Merge Join 是一种基于排序的连接算法。它要求参与连接的两个表(或数据集)按照连接键进行排序。在连接过程中,就像合并两个已经排好序的列表一样,同时从两个表的开头开始扫描,比较连接键的值。当两个表中连接键的值相等时,就把匹配的行合并成一个新的行输出。如果连接键的值不相等,它会根据连接键的大小关系移动其中一个表的扫描指针,继续比较,直到两个表的所有行都被处理完。
2024-12-18 18:32:23
749
原创 openGauss系数据库的PBE性能影响点。
在数据库内核中,PBE(Prepare Bind Execute)模式是一种优化技术,用于提高SQL语句的执行效率和安全性。这种模式通过将SQL语句的解析和编译跟语句的执行分开处理,减少重复工作,从而提高性能。openGauss系数据库通过执行PREPARE创建预备语句——PREPARE中指定的语句,并由优化器提前将预备语句解析、分析、重写。当随后发出EXECUTE语句的时候,预备语句被规划和执行。
2024-12-12 16:09:34
798
原创 xlog预创建机制
在PostgreSQL中,XLOG(也称为WAL,Write-Ahead Logging)是用于确保数据库一致性和持久性的关键机制。预创建XLOG文件是一种优化措施,旨在提高数据库性能和可用性。
2024-12-06 10:54:18
904
原创 PL/SQL、存储过程、自定义函数、包、游标
PL/SQL 是 Oracle 数据库中的一种强大工具,它结合了 SQL 语句和过程化编程结构,使得开发者可以在数据库中编写复杂的业务逻辑。通过使用 PL/SQL,可以提高应用程序的性能和可维护性,减少网络通信开销,并确保数据的一致性和完整性。
2024-11-13 11:05:34
315
原创 SQL查询的名词概念——子链接&子查询、主查询&外查询、子查询提升
今日在某数据库官方文档中看到了子链接的概念,不是很理解。就进行了搜索和查询,结果不成想扯出了几个没跟查询相关的,自己不是很熟悉的概念,贴在这里供自己翻查。
2024-10-11 18:29:11
700
原创 数据库中的投影是指什么?
非计算机专业的搬砖人,做着计算机专业的事情。所以投影的概念作为学计算机的同学可能很容易理解。但是却成为萦绕我心中不解很久的一个词。今天,总算豁然开朗了。投影是关系代数中的一种运算。在关系代数中,投影(Projection)是一种基本的操作,用于从关系(即表)中选取特定的列。投影操作允许我们专注于关系中的某些属性,而忽略其他属性。它对于数据简化和聚焦于所需信息非常有用。
2024-09-23 15:12:43
752
原创 什么是分页查询以及为什么大偏移量的分页查询更容易性能下降。
分页查询是处理大量数据时的一个重要技巧,它可以提高数据库查询的性能,并改善用户的体验。通过合理设计分页策略,可以有效地管理和展示数据。
2024-09-23 14:57:32
698
原创 TimescaleDB
TimescaleDB是由一群博士创立的公司Timescale Inc.所研发的。TimescaleDB最初是在2017年4月作为PostgreSQL的一个扩展被开源发布的,它设计用于处理大量的时间序列数据,这类数据常见于物联网(IoT)、金融、工业监控和其他需要记录随时间变化数据的领域。TimescaleDB通过在PostgreSQL的基础上增加时间序列功能,如自动数据分片、高效的时间序列数据压缩和查询优化,使得用户能够以插件化的方式利用其功能,同时还能享受到PostgreSQL的强大特性和生态系统。
2024-07-07 11:48:50
403
原创 字符集和字符序
通过在不同层级(如数据库、表、列或查询)上精确设置字符序,可以确保数据处理逻辑符合应用需求,尤其是在多语言环境中,字符序的选择更是关键,它直接关系到应用的国际化和本地化能力。在这个例子中,utf8mb4是字符集,支持存储包括emoji在内的四字节Unicode字符,而utf8mb4_unicode_ci是字符序,它提供了基于Unicode的校对规则,不区分大小写。字符集(Character Set)是字符的编码规则,字符序(Collation)是字符的排序规则。设置会话级别的字符序。
2024-06-21 09:49:57
422
原创 【转】postgresql初始化之initdb的使用详解
本文详细介绍了PostgreSQL数据库管理系统中initdb命令的使用方法,包括命令概述、选项、示例和注意事项,通过掌握initdb命令,我们可以快速创建符合需求的数据库集群,为后续的开发和管理工作奠定基础,在实际使用过程中,请根据实际情况选择合适的选项,以确保数据库的稳定性和安全性。initdb是PostgreSQL数据库管理系统的初始化工具,主要用于创建一个新的数据库集群,所谓“数据库集群”,是指一组相互关联的数据库,它们在物理上存储在同一台服务器上,但在逻辑上可以视为独立的数据库实例。
2024-05-22 15:34:40
2148
2
原创 事务的ACID特性通俗讲解及分布式事务的两阶段提交
事务的ACID特性请参考:https://blog.youkuaiyun.com/bobo0218bo/article/details/88922170?
2024-03-01 15:19:03
532
1
原创 PG数据库中如何查看历史SQL(状态为idle)的实际执行时长
SELECT query AS “SQL”, state AS “状态”,query_start AS “开始时间”, now() - query_start AS “已经运行时间” FROM pg_stat_activity WHERE state = ‘idle’;
2024-02-19 10:50:12
2237
1
原创 关系代数的由来
关系代数是由IBM的研究员E.F.Codd(关系数据库之父)在论文《大型共享数据库的关系模型》中发表和提出的。按“繁花”中说的,科德是数据库领域的老法师。因其在数据库管理系统的理论和实践方面的杰出贡献于1981年获图灵奖。为了这个主题,特意回忆了下自己念大学的时候上过的高等数学课里有没有关系代数。我大学学的不是计算机。借助度娘帮忙回忆了下,发现自己大学学的是线性代数和微积分等,确实没有学过关系代数。那关系代数是怎么来的?后来经过网络搜罗发现,他是特定领域——数据库用到的。那它又是怎么诞生的呢?
2024-02-07 17:15:48
579
1
原创 【数据库十万个为什么】什么是数据库?
说文解字中说,库:兵车藏也。所以库最开始是用来储藏兵车的。后来库泛指贮物的屋舍。数据库,望文生意,存储数据的库。更专业点的解释是:存储电子文件的处所。用户可以对文件中的数据进行新增、截取、更新、删除等操作。数据库管理系统(Database Management System,简称DBMS),是为了管理数据库而设计的电脑软件系统。用于帮助用户建立、使用和维护数据库,同时能够保障数据的安全可靠。总结起来就是:数据库是容器——电子化的文件柜,你可以往里存数据,从里头取或者更改里头的数据。
2023-10-07 21:14:20
178
1
原创 曾经收集的有用知识
曾经收集的有用知识Postgresql之VACUUM和VACUUM FULL对比:https://blog.youkuaiyun.com/pg_hgdb/article/details/79490875 生动理解网络协议分为哪几层—物理层,连接层,网络层,传输层,应用层详解:http://www.jb51.net/network/211947.html ETL介绍与ETL工具比较:https://b...
2018-08-23 09:17:44
151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人