自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 MySQL 8.0曾经最让人期待的新特性

Hash Join作为表连接的基础连接类型,各大关系型数据库(譬如Oracle、sqlserver、Postgres等)很早都支持了Hash Join这种连接类型。作为关系型数据库领域的领袖,Oracle数据库支持三种主流的连接类型:Nested Loop Join、Hash Join 和 Sort Merge Join。而作为最流行的关系型数据库的MySQL 却一直没有支持Hash Join,这点一直为人诟病。千呼万唤始出来,MySQL 8.0.18开始终于支持了Hash Join的连接算法。MySQL

2022-05-28 17:24:33 13715

原创 连接数据库失败,难道MySQL 5.7客户端与8.0数据库不兼容?

线上业务数据库升级到MySQL 8.0.28之后,业务侧使用MySQL 5.5版本的mysql_api连接数据库正常,但是我们管理端使用旧的MySQL 5.7客户端连接数据库却是失败的。难道MySQL 5.7的客户端与8.0的数据库之间不兼容?这个问题可就比较严重了,可能成为数据库升级路上的拦路虎。一下就勾起了吹水老王极大的兴致,我们一起来分析一下。

2022-05-15 11:46:21 15700

原创 《MySQL开发规范》过时了,视图的查询性能提升了一万倍

视图在数据库中是非常普及的功能。但是长期以来,大多数互联网公司的《MySQL开发规范》中都有一条规范:`在MySQL中禁止(或建议不要)使用视图`。究其原因,主要是由于在MySQL中视图的查询性能不好,同时带来了管理维护上的高成本。不过随着MySQL 8.0中派生条件下推特性的引入,尤其是最近GA的MySQL 8.0.29版本中对于包含union子句的派生条件下推优化,MySQL中视图查询的性能得到了质的提升。《MySQL开发规范》已经过时了,DBA该考虑考虑将禁止使用视图的规定重新修订一下了。

2022-05-04 18:09:53 12134

原创 你真的会用EXPLAIN么,SQL性能优化王者晋级之路

MySQL的开发人员或者DBA,经常使用EXPLAIN语句来查看SQL的执行计划。EXPLAIN的解读文章多如牛毛,每个开发人员对EXPLAIN结果都有自己的理解。然而,你真的会使用EXPLAIN吗?使用`explain for connection`可以查看指定会话的SQL执行计划。这样就可以看到当前正在实际执行的SQL的执行计划。MySQL 8.0引入的`EXPLAIN ANALYZE`向我们清晰展示了SQL的估算执行成本和实际执行消耗,对于优化SQL性能有着非常大的价值。

2022-04-23 22:32:56 7899 1

原创 索引三剑客之降序索引和不可见索引

索引三剑客之降序索引和不可见索引MySQL 8.0中引入了三个索引方面的新特性,我们将其称为“索引三剑客”。辟水剑,剑走偏锋,独辟蹊径,如刀细雨又快又密。降序索引,顾名思义,就是按照降序排列的索引。MySQL 8.0中引入降序索引特性,索引可以按照指定的升序或者降序的方式来组织索引项。万剑归宗乃是剑术最高境界,化剑气于无形,聚无形剑气如万剑自生。不可见索引,顾名思义,即看不见的索引,通过设置索引的可见性,可以用来测试索引对查询性能的影响。

2022-04-17 19:13:29 7256 1

原创 千呼万唤始出来,MySQL 8.0索引三剑客之函数索引

独孤九剑,重剑无锋,大巧不工,通晓剑意,无所施而不可。三剑客之首,函数索引。好消息是,MySQL 终于在8.0版本引入了这一特性。真的是,千呼万唤始出来,不过好歹还是来了。普通索引是对列值或列的前缀值进行索引,而MySQL 8.0.13之后支持函数索引,函数索引是对表中的列执行表达式计算后的结构进行索引,而不是对列或列前缀值。使用函数索引可以对未直接存储在表中的数据进行索引。函数索引为应用程序提供了极大的便利和性能提升。

2022-04-10 18:05:52 7957 1

原创 警惕参数变化,MySQL 8.0 升级避免再次踩坑

MySQL 8.0新特性专栏目录我们知道MySQL 8.0相对于MySQL 5.7加入了很多新特性,在功能和安全性上做了很多的优化和调整,这就不可避免地会修改一些参数或者函数。**我们现有业务数据从MySQL 5.7及之前的版本升级到8.0,需要特别警惕这些参数的变化,这些变化可能会导致业务行为发生一些意料之外的结果!!!**最近MySQL 8.0 升级的过程中,我梳理了一些业务可能用到的、重要的参数变化,包括一些MySQL 8.0中已经废弃的参数和部分常见参数默认值的变化。

2022-04-04 12:43:16 8543

原创 sql_mode兼容性,MySQL 8.0 升级踩过的坑

MySQL 8.0从GA到现在已经过去4年了,被各大互联网公司广泛使用,稳定性得到了充分的验证。最近,我们也在将存量的旧版本数据库升级到8.0。虽然前期做了很多的检查和验证,不过升级过程中终究免不了踩一些坑。sql_mode,在MySQL 5.7之前是宽松模式;在MySQL 5.7之后一直到最新的8.0.28版本,都还是严格模式。不过,在不同的数据库版本之间、不同的数据库实例之间,sql_mode总会有一些变化;升级或者迁移的过程中一不小心就会掉入坑中。

2022-03-26 19:31:36 10091 3

原创 双重密码,MySQL8.0 创新特性

双重密码,MySQL 8.0创新特性MySQL 8.0 引入了很多令人振奋的新特性,跟账户认证相关的新特性包括:新增caching_sha2_password身份认证插件,支持角色,区分系统账户和普通账户,维护密码历史信息限制重复使用以前的密码和密码过期等,双重密码,生成随机密码,登录失败跟踪和临时锁定账户。MySQL 8.0 最令人眼前一亮的特性:双重密码。这个特性在数据库领域应该也是第一次引入,为线上DB变更带来了极大的便利。

2022-03-19 20:36:55 10799

原创 oracle 11g分区表新特性---interval分区 的坑

oracle 11g的范围分区表中新增的interval分区特性,此种范围分区不需要定义MAXVALUE,Oracle会根据分区定义的步长来动态的分配新分区来容纳超过范围的数据。解决了原本的范围分区需要手工编写job来预分配分区的问题,但是其分区名时自动命名的。所以,对于间隔分区 interval(number) 或者 interval(NUMTODSINTERVAL(1,'DAY'))数字或者日期自动分区的分区查询条件可以是:select * from test_part partition for

2017-07-18 20:06:52 8903

原创 系统开关机时oracle自启动和关闭脚本(for aix和linux)

作为一名oracle DBA,更有甚者,在这个虚拟化泛滥的时代,有没有遇到过物理主机硬件故障,导致几十台数据库server发生了重启,麻烦启动下数据库?正好有时间就把oracle自启动和关闭的脚本作了一些优化,以增加脚本的适用性,并把自启动和关闭的配置写到了初始化脚本auto_start_db.sh,这样只需要简单一步执行auto_start_db.sh脚本就可以完成所有配置工作。1.AIX和Linux操作系统平台下,oracle自启动和关闭的开关在/etc/oratab文件,/etc/oratab实在

2017-06-12 16:22:55 1051

原创 RMAN新特性duplicate概述和使用

RMANDUPLICATION复制概述 DUPLICATE命令可以创建完整的运行良好的数据库副本(clone DB)或Physical standby数据库。DUPLICATE命令自动为duplicate数据库分配不同的DBID,以便它可以注册在与源数据库相同的catalog中。DUPLICATION可以是数据库级别,也可以指定表空间级别。RMAN必须执行基于时间点的恢复,即使

2017-06-06 16:48:16 13204

原创 oracle 10g的long类型处理bug

因为分区表监控的脚本不想频繁访问dba_tab_subpartitions视图,需要创建临时表T1,偶然间发现oracle 10g的一个bug,在metalink上也没能找到该问题的解决方案。1.创建临时表T1:SQL> create table T1 as select table_name,partition_name,subpartition_name,to_lob(high_v

2015-09-06 23:58:20 7330

原创 支持alter table move 的数据类型 :raw blob clob

收缩表清理空间和移动表到另外表空间时常遇到long、blob等数据类型不能迁移的情况。对此做个总结支持alter table move 的数据类型 :raw blob clob 不支持的数据类型 :long 和 long raw

2015-09-02 12:20:45 1019

原创 oracle11g dataguard安装实施

oracle 11g dataguard 安装配置

2015-09-01 20:14:10 8111

oracle ADDM 自动诊断监视工具

oracle ADDM 自动诊断 监视 工具

2013-03-23

shell 编程

linux/unix shell 编程教程 让你轻松处理shell

2013-03-23

20个常用的动态性能视图

20个常用oracle动态性能视图 详细

2013-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除