PostgreSQL函数/存储过程返回数据集,或者也叫结果集的示例。背景: PostgreSQL里面没有存储过程,只有函数,其他数据库里的这两个对象在PG里都叫函数。 函数由函数头,体和语言所组成,函数头主要是函数的定义,变量的定义等,函数体主要是函数的实现,函数的语言是指该函数实现的方式,目前内置
wal,即预写式日志,是日志的标准实现方式,简单而言就是将对数据库的变动记录到日志 中,而后在将具体的新数据刷新到磁盘。PostgreSQL将该日志维护在数据文件夹下的子文件夹pg_xlog中。当数据库崩溃后,可以通过“重放”日志中的“动作”,将数据库恢复。也就是说,只要拥有一个基础备份和完整的日志
喜欢postgresql数据库,也一直认为postgresql比mysql要更好更强大。可生态环境太差了,无奈,最近要把一个小站转成mysql数据库。小站主要表数据110万,pg_dump备份下载的压缩数据库将近3G。怎么转成mysql呢?尝试1:我首先尝试了工具,结果只找到两款国外的工具( Pos
PostgreSQL 11 版本在并行方面得到增强,例如支持并行创建索引、并行Hash Join、并行 CREATE TABLE .. AS等,本文先介绍并行创建索引。PostgreSQL 11 版本并行创建索引仅支持 B-tree 索引,其它类型索引现阶段不支持并行创建。并行进程相关参数介绍并行创
1、简单动态字符串Redis 没有直接使用 C 语言传统的字符串表示,而是自己构建了一种简单动态字符串 (SDS),使用 SDS 作为 Redis 的默认字符串表示。1.1 SDS 定义struct sdshdr { // 记录 buf 数组中已经使用字节的数量,等于 SDS 所保存字符串
一、解析XML首先,Mybatis在初始化SqlSessionFactoryBean的时候,找到mapperLocations路径去解析里面所有的XML文件,这里我们重点关注两部分。1、创建SqlSourceMybatis会把每个SQL标签封装成SqlSource对象。然后根据SQL语句的不同,又分
数据库优化一方面是找出系统的瓶颈,提高MySQL数据库的整体性能,而另一方面需要合理的结构设计和参数调整,以提高用户的相应速度,同时还要尽可能的节约系统资源,以便让系统提供更大的负荷。1. 优化一览图优化分为了两大类,软优化和硬优化,软优化一般是操作数据库即可,而硬优化则是操作服务器硬件及参数设置.
1. 复制概述MySQL 内置的复制功能是构建基于 MySQL 的大规模、高性能应用的基础,复制解决的基本问题是让一台服务器的数据与其他服务器保持同步。接下来,我们将从复制概述及原理、复制的配置、常见的问题及解决方法来学习 MySQL 的复制功能。1.1 复制解决的问题下面是复制常见的用途:数据分布
事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。MySQL博大精深,文章疏漏之处在所难免,欢迎批评指正。一,基础概念事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系
Kafka 是高吞吐低延迟的高并发、高性能的消息中间件,在大数据领域有极为广泛的运用。配置良好的 Kafka 集群甚至可以做到每秒几十万、上百万的超高并发写入。Kafka 的一些架构设计原理,这也是互联网公司面试时非常高频的技术考点。Kafka 到底是如何做到这么高的吞吐量和性能的呢?这篇文章我们来
Redis的通识教程,旨在让大家对Redis有一个概念性和整体性的认识,并且可以快速上手,为深入Redis打下基础。文章概要:Redis的介绍Redis与其他数据库的对比Redis与其他缓存实现对比Redis的数据结构类型Redis命令操作几种数据类型Spring Data Redis操作几种数据类
我们开始研究为什么注释掉这一行会产生如此巨大的差异。由于这是一个if语句,我们首先怀疑的是分支预测。我们利用gcc’s__builtin_expect来改变代码的编译方式。但是,这对性能没有任何影响。接下来,我们查看生成的程序集,以了解究竟发生了什么。我们将if语句编译成三个重要指令mov、cmp和
MySQL的分页查询通常通过limit来实现。MySQL的limit基本用法很简单。limit接收1或2个整数型参数,如果是2个参数,第一个是指定第一个返回记录行的偏移量,第二个是返回记录行的最大数目。初始记录行的偏移量是0。为了与PostgreSQL兼容,limit也支持limit # offse
列举 MySQL 数据库中,最经典的十大错误案例,并附有处理问题的解决思路和方法,希望能给刚入行,或数据库爱好者一些帮助,今后再遇到任何报错,我们都可以很淡定地去处理。 学习任何一门技术的同时,其实就是自我修炼的过程。沉下心,尝试去拥抱数据的世界! Top 1:Too many connection
一、官网地址二、下载和安装点击DOWNLOAD即可下载按照自己电脑系统进行选择,然后填写邮箱和选择行业,第一次登录如果不提交不会下载,下载完成是一个zip压缩包(我的电脑是windows系统),解压缩安装即可,安装途中可以自行选择安装路径安装完成选择连接根据提示进行操作,最后点击保存即可右键新建的连
为什么不建议使用订单号作为主键?为什么要在需要排序的字段上加索引?for update 的记录不存在会导致锁住全表?redolog 和 binlog 有什么区别?MySQL 如何回滚一条 sql ?char(50) 和 varchar(50) 效果是一样的么?索引知识回顾对于 MySQL 数据库而言
CREATE TABLE `t3` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` varchar(5) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `b` varchar(5) COLLATE
初始化故障排查1. so依赖缺失比如报这样的错误:./bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory可以
防火墙 CentOS7 之前的防火墙是不一样的,比如你要添加3306端口:## 全部 iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT ## 部分ipiptables iptables -A INPUT -p tcp -s 138.
按照MariaDB官网的步骤来安装MariaDB特别的简单,只要按照步骤来做,很容易就搞定了。首先,到MariaDB官网: https://downloads.mariadb.org/mariadb/repositories/#mirror=qiming&distro=Ubuntu&