估算一张表的执行时间和IO计算和表大小

Oracle 

前言 本专栏分为四大部分: SQL 语句的执行时间和逻辑读是可以结合原理计算和预估出来的。 极速优化 SQL-在不懂业务的情况下用过技术手段结合原理快速分析和优化 SQL SQL 效率异常分析-分析为什么 SQL 时快时慢或者为什么没有走预期的执行计划 SQL 改写优化-对常见必须要 SQL 改写的

解析ROWID

Oracle 

我们通过学习知道,rowid 是存放行在磁盘上的具体位置,格式如下 AAAVU/AAHAAAACVAAA。 本章内容我们来揭秘下 rowid。 通过 rowid 去寻找数据是最快的,因为我都把物理位置告诉 oracle 了,oracle 只需要一次 IO 就能找到该数据。 那么 rowid 在块中是

Oracle创建表时不指定表空间默认会用那个表空间

Oracle 

在回答这个asssa问题之前我们还要分情况去考虑。 第一种:当创建的表为分区表,临时表或索引组织表的时候 --查看一个用户下有哪些表属于哪个表空间 select * from all_tables where owner = ‘表名大写‘;

释放 Oracle 表空间:高水位收缩操作详解

Oracle 

文章来源:https://mp.weixin.qq.com/s/w1TScbKqI1bfdFa-kcoiZQ 之前生产环境磁盘空间满了,要提单申请加资源。为了尽快恢复业务,只能先删除一些没用的数据然后收缩数据文件。今天看到这篇文章随即记录下来。 什么是Oracle高水位 Oracle 中的高水位(H

直接路径读,究竟是效率的超级战甲,还是潜藏风险的隐形杀手?

Oracle 

文章来源:https://mp.weixin.qq.com/s/besccZ-Umrlw-i9vKeqg3Q 想象一下,你去一个超大型图书馆查资料。通常,你会先看看最近热门或者常被借阅的书架,如果找不到,图书管理员会帮你从巨大的书库里把书找出来,放到热门书架,再借给你。但如果一次要查阅的书籍堆积如山

统计信息的查看与收集

Oracle 

统计信息类似战争中的侦察兵,如果情报工作没有做好,打仗就会输掉。 同样的,如果没有正确地收集表的统计信息或者没有及时更新表的统计信息,SQL执行计划就会跑偏,SQL也就会出现性能问题。 收集统计信息是为了让优化器选择最佳的执行计划,以最少的代价查询出表的的数据。本章重点讨论表的统计信息,列的统计信息

学习SQL优化必懂的概念

Oracle 

基数(CARDINALITY) 某个列唯一键的数量叫作基数。比如性别列,该列只有男女之分,故这一列基数为2。 主键列的基数等于表的总行数。基数的高低影响列的数据分布。 当查询结果是返回表中5%以内的数据时,应该走索引;当查询结果返回的是超过表中5%的数据时,应该走全表扫描。 这就意味着当某个列基数很

通过用docker快速部署Oracle

Oracle 

安装Oracle比较麻烦,大部分新手都难在了这一步。通过docker安装可以快速帮我们搭建好以便学习。 一、获取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g docker pull registry.aliyu

MySQL复制原理

MySQL 

复制是基于 binlog 实现,学习之前必须要先掌握 binlog。MySQL 不是还有 redo 日志吗,为什么不直接基于 redo 日志来实现复杂。 实际上,redo 只有 innodb 引擎所独有的,MySQL 除了 innodb 还有 myisam,csv,memory 等存储引擎,对这些存

三大日志之一binlog

MySQL 

1. 什么是 binlog Binary log 是 MySQL server 层维护的重要二进制日志,用于记录数据库的所有更改操作。它记录了所有的 DDL 和 DML 语句(除了 select 和 show 外),并以事务的形式保存在磁盘中,以二进制的形式存储,不能直接使用 cat,tail 进行