数据库
文章平均质量分 78
shujiezhang
这个作者很懒,什么都没留下…
展开
-
《PostgreSQL技术内幕:事务处理深度探索》上市了!
新的个人博客主页:zhangshujie.cn京东地址当当地址淘宝地址为什么写这本书?近年来,我一直从事与PostgreSQL相关的数据库内核开发工作,主攻方向是SQL引擎中的查询优化,对事务的了解仅停留在理论层面,虽然对事务的性质、隔离级别也能讲一番大道理,但终究华而不实,于探究事务的本质无益。所谓“纸上得来终觉浅,绝知此事要躬行”,在完成了《PostgreSQL技术内幕:查询优化深度探索》一书之后,我就开始了事务的探索之旅。探索的过程并非一帆风顺。事务的理论已经颇为复杂,在形成源..原创 2021-08-04 23:52:10 · 1270 阅读 · 0 评论 -
《PostgreSQL优化器入门》上线了
课程亮点数据库内核专家通俗解读 PgSQL 优化器 无需阅读分析 PgSQL 源码即可快速掌握 优化器经典实现/数据库从业人员核心技能专家推荐“这门课从 SQL 示例入手,深入浅出地介绍了 PostgreSQL 优化器技术内幕,让读者能够快速熟悉 PostgreSQL 优化器,对 SQL 优化有非常好的指导作用,值得推荐!”——谭峰,网名 francs,《Postgre...原创 2018-10-19 13:19:06 · 1244 阅读 · 1 评论 -
《PostgreSQL技术内幕:查询优化深度探索》勘误
1. P8, 第1章,第1.2.2节 这里的示例不需要和Teacher表做连接,因为可以直接扫描课程表获取到所有的信息。 修正方法: a) 在关系代数表达式中增加一个tname的投影列 b) 图示中也需要增加对应的投影列 感谢贾宗秀、李建平发现此问题。 2. P125,第4章,第4.3.5节 表4-6中的第一行的STUDENT应该修改为...原创 2018-07-17 09:15:57 · 1354 阅读 · 0 评论 -
小明学PostgreSQL : 自旋锁浅析
《小明学PostgreSQL : 自旋锁浅析》 Table of Contents什么是自旋锁自旋锁的伪码TAS VS CASPostgreSQL的自旋锁 什么是自旋锁 自从小明学习了PostgreSQL优化器的知识之后,就对数据库产生了浓厚的兴趣,经过上次的《PostgreSQL查询优化器详解》中大明和牛二哥对PostgreSQL优化器的概要的讲解,小明...原创 2018-07-24 17:43:13 · 961 阅读 · 0 评论 -
PostgreSQL查询优化器详解之物理优化篇
本文的部分内容摘自《PostgreSQL技术内幕:查询优化深度探索》,并且修改为以小明、大明、牛二哥三人对话的方式展现,该文首发自DBAPlus的公众号。原创 2018-05-25 23:10:15 · 1971 阅读 · 0 评论 -
PostgreSQL查询优化器详解之逻辑优化篇
本文的部分内容摘自《PostgreSQL技术内幕:查询优化深度探索》,并且修改为以小明、大明、牛二哥三人对话的方式展现,该文首发自DBAPlus的公众号。查询优化器的基本原理小明考上了北清大学的计算机研究生,今年学校开了数据库原理的课程,小明对查询优化的内容不是很理解,虽然已经使出了洪荒之力,仍觉得部分原理有些晦涩难懂,于是打算问一下自己的哥哥大明。大明是一位资深的数据库内核开发老码农,对Gree...原创 2018-05-25 22:57:58 · 7695 阅读 · 1 评论 -
移进规约冲突一例
最近需要给REVOKE语句增加一个新的语法形式,通过bison编译,发现移进/规约冲突(SHIFT/REDUCT CONFLICT),可以通过拆分语法规则的方式,来解决该问题。原创 2015-03-03 10:40:11 · 14039 阅读 · 1 评论 -
ORACLE权限管理调研笔记
在默认的方式下,任何非授权用户都不能在ORACLE执行任何操作,且默认情况下,只有SYSTEM和SYS能给其他用户授予权限。ORACLE的用户权限分为系统权限(SYSTEMPRIVILEGE)和对象权限(OBJECTPRIVILEGE)。系统权限通常是针对修改表数据字典、修改数据库实例的情况进行控制。例如创建用户、创建表空间、控制会话等。对象权限主要应用在表、视图、序列这些对象上。原创 2015-01-28 10:09:32 · 1403 阅读 · 0 评论 -
PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()
这里把规范谓词表达式的部分就整理完了,阅读的顺序如下:一、PostgreSQL代码分析,查询优化部分,canonicalize_qual二、PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()三、PostgreSQL代码分析,查询优化部分,process_duplicate_ors这里把相关博文:PostgreSQL代码分析,查询优化部分,process_duplicate_ors原创 2014-07-23 17:30:58 · 1454 阅读 · 0 评论 -
PostgreSQL代码分析,查询优化部分,process_duplicate_ors
这个函数处理这种情况,对于一个选择,SELECT * FROM TEST_A,TEST_B,TEST_C,TEST_D WHERE (A=1 AND B=1) OR (A=1 AND C=1) OR (A=1 AND D=1);语句中的WHERE条件:(A=1 AND B=1) OR (A=1 AND C=1) OR (A=1 AND D=1)可以改写为(A=1)AND (B=1 OR C=1 OR D=1)原创 2014-07-22 16:56:57 · 1579 阅读 · 0 评论 -
PostgreSQL代码分析,查询优化部分,canonicalize_qual
查找重复的OR操作,即化简条件语句,假设WHERE条件为:(A=1 AND B=1) OR (A=1 AND C=1),可以化简为:A=1 AND (B=1 OR C=1),另外,这个函数中做了将树状的AND或OR语句平面化(flatten,或拉平)的工作,这两个工作主要体现在pull_ands()和pull_ors()两个函数中。原创 2014-07-23 11:16:12 · 1750 阅读 · 0 评论 -
查询求解概述读书笔记
1. 存取路径是指针对某个表的读取方式,可以原创 2014-06-22 13:12:56 · 647 阅读 · 0 评论 -
数据库之并发控制调度
串行:两个事务分别执行,假设两个事务T1和T2,原创 2014-04-28 21:29:25 · 1260 阅读 · 0 评论