<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[真水无香，大象无形，做本分的自己，记录技术点滴]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangzihuacool</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangzihuacool]]></copyright><item><title><![CDATA[MySQL 8.0曾经最让人期待的新特性]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/125020230</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/125020230</guid><author>wangzihuacool</author><pubDate>Sat, 28 May 2022 17:24:33 +0800</pubDate><description><![CDATA[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 ]]></description><category></category></item><item><title><![CDATA[连接数据库失败，难道MySQL 5.7客户端与8.0数据库不兼容？]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/124779410</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/124779410</guid><author>wangzihuacool</author><pubDate>Sun, 15 May 2022 11:46:21 +0800</pubDate><description><![CDATA[线上业务数据库升级到MySQL 8.0.28之后，业务侧使用MySQL 5.5版本的mysql_api连接数据库正常，但是我们管理端使用旧的MySQL 5.7客户端连接数据库却是失败的。难道MySQL 5.7的客户端与8.0的数据库之间不兼容？
这个问题可就比较严重了，可能成为数据库升级路上的拦路虎。一下就勾起了吹水老王极大的兴致，我们一起来分析一下。]]></description><category></category></item><item><title><![CDATA[《MySQL开发规范》过时了，视图的查询性能提升了一万倍]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/124573551</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/124573551</guid><author>wangzihuacool</author><pubDate>Wed, 04 May 2022 18:09:53 +0800</pubDate><description><![CDATA[视图在数据库中是非常普及的功能。但是长期以来，大多数互联网公司的《MySQL开发规范》中都有一条规范：`在MySQL中禁止（或建议不要）使用视图`。究其原因，主要是由于在MySQL中视图的查询性能不好，同时带来了管理维护上的高成本。
不过随着MySQL 8.0中派生条件下推特性的引入，尤其是最近GA的MySQL 8.0.29版本中对于包含union子句的派生条件下推优化，MySQL中视图查询的性能得到了质的提升。
《MySQL开发规范》已经过时了，DBA该考虑考虑将禁止使用视图的规定重新修订一下了。]]></description><category></category></item><item><title><![CDATA[你真的会用EXPLAIN么，SQL性能优化王者晋级之路]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/124371738</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/124371738</guid><author>wangzihuacool</author><pubDate>Sat, 23 Apr 2022 22:32:56 +0800</pubDate><description><![CDATA[MySQL的开发人员或者DBA，经常使用EXPLAIN语句来查看SQL的执行计划。EXPLAIN的解读文章多如牛毛，每个开发人员对EXPLAIN结果都有自己的理解。然而，你真的会使用EXPLAIN吗？
使用`explain for connection`可以查看指定会话的SQL执行计划。这样就可以看到当前正在实际执行的SQL的执行计划。MySQL 8.0引入的`EXPLAIN ANALYZE`向我们清晰展示了SQL的估算执行成本和实际执行消耗，对于优化SQL性能有着非常大的价值。]]></description><category></category></item><item><title><![CDATA[索引三剑客之降序索引和不可见索引]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/124234212</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/124234212</guid><author>wangzihuacool</author><pubDate>Sun, 17 Apr 2022 19:13:29 +0800</pubDate><description><![CDATA[索引三剑客之降序索引和不可见索引
MySQL 8.0中引入了三个索引方面的新特性，我们将其称为“索引三剑客”。
辟水剑，剑走偏锋，独辟蹊径，如刀细雨又快又密。降序索引，顾名思义，就是按照降序排列的索引。MySQL 8.0中引入降序索引特性，索引可以按照指定的升序或者降序的方式来组织索引项。
万剑归宗乃是剑术最高境界，化剑气于无形，聚无形剑气如万剑自生。不可见索引，顾名思义，即看不见的索引，通过设置索引的可见性，可以用来测试索引对查询性能的影响。]]></description><category></category></item><item><title><![CDATA[千呼万唤始出来，MySQL 8.0索引三剑客之函数索引]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/124082526</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/124082526</guid><author>wangzihuacool</author><pubDate>Sun, 10 Apr 2022 18:05:52 +0800</pubDate><description><![CDATA[独孤九剑，重剑无锋，大巧不工，通晓剑意，无所施而不可。三剑客之首，函数索引。
好消息是，MySQL 终于在8.0版本引入了这一特性。真的是，千呼万唤始出来，不过好歹还是来了。
普通索引是对列值或列的前缀值进行索引，而MySQL 8.0.13之后支持函数索引，函数索引是对表中的列执行表达式计算后的结构进行索引，而不是对列或列前缀值。使用函数索引可以对未直接存储在表中的数据进行索引。
函数索引为应用程序提供了极大的便利和性能提升。]]></description><category></category></item><item><title><![CDATA[警惕参数变化，MySQL 8.0 升级避免再次踩坑]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/123949203</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/123949203</guid><author>wangzihuacool</author><pubDate>Mon, 04 Apr 2022 12:43:16 +0800</pubDate><description><![CDATA[MySQL 8.0新特性专栏目录
我们知道MySQL 8.0相对于MySQL 5.7加入了很多新特性，在功能和安全性上做了很多的优化和调整，这就不可避免地会修改一些参数或者函数。**我们现有业务数据从MySQL 5.7及之前的版本升级到8.0，需要特别警惕这些参数的变化，这些变化可能会导致业务行为发生一些意料之外的结果！！！**
最近MySQL 8.0 升级的过程中，我梳理了一些业务可能用到的、重要的参数变化，包括一些MySQL 8.0中已经废弃的参数和部分常见参数默认值的变化。]]></description><category></category></item><item><title><![CDATA[sql_mode兼容性，MySQL 8.0 升级踩过的坑]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/123760798</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/123760798</guid><author>wangzihuacool</author><pubDate>Sat, 26 Mar 2022 19:31:36 +0800</pubDate><description><![CDATA[MySQL 8.0从GA到现在已经过去4年了，被各大互联网公司广泛使用，稳定性得到了充分的验证。最近，我们也在将存量的旧版本数据库升级到8.0。虽然前期做了很多的检查和验证，不过升级过程中终究免不了踩一些坑。sql_mode，在MySQL 5.7之前是宽松模式；在MySQL 5.7之后一直到最新的8.0.28版本，都还是严格模式。不过，在不同的数据库版本之间、不同的数据库实例之间，sql_mode总会有一些变化；升级或者迁移的过程中一不小心就会掉入坑中。]]></description><category></category></item><item><title><![CDATA[双重密码，MySQL8.0 创新特性]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/123600045</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/123600045</guid><author>wangzihuacool</author><pubDate>Sat, 19 Mar 2022 20:36:55 +0800</pubDate><description><![CDATA[双重密码，MySQL 8.0创新特性
MySQL 8.0 引入了很多令人振奋的新特性，跟账户认证相关的新特性包括：新增caching_sha2_password身份认证插件，支持角色，区分系统账户和普通账户，维护密码历史信息限制重复使用以前的密码和密码过期等，双重密码，生成随机密码，登录失败跟踪和临时锁定账户。
MySQL 8.0 最令人眼前一亮的特性：双重密码。这个特性在数据库领域应该也是第一次引入，为线上DB变更带来了极大的便利。
]]></description><category></category></item><item><title><![CDATA[oracle 11g分区表新特性---interval分区 的坑]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/75330050</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/75330050</guid><author>wangzihuacool</author><pubDate>Tue, 18 Jul 2017 20:06:52 +0800</pubDate><description><![CDATA[oracle 11g的范围分区表中新增的interval分区特性，此种范围分区不需要定义MAXVALUE，Oracle会根据分区定义的步长来动态的分配新分区来容纳超过范围的数据。
解决了原本的范围分区需要手工编写job来预分配分区的问题，但是其分区名时自动命名的。
所以，对于间隔分区 interval(number) 或者 interval(NUMTODSINTERVAL(1,'DAY'))数字或者日期自动分区的分区查询条件可以是：
select * from test_part partition for]]></description><category></category></item><item><title><![CDATA[系统开关机时oracle自启动和关闭脚本（for aix和linux）]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/73123326</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/73123326</guid><author>wangzihuacool</author><pubDate>Mon, 12 Jun 2017 16:22:55 +0800</pubDate><description><![CDATA[作为一名oracle DBA，更有甚者，在这个虚拟化泛滥的时代，有没有遇到过物理主机硬件故障，导致几十台数据库server发生了重启，麻烦启动下数据库？
正好有时间就把oracle自启动和关闭的脚本作了一些优化，以增加脚本的适用性，并把自启动和关闭的配置写到了初始化脚本auto_start_db.sh，这样只需要简单一步执行auto_start_db.sh脚本就可以完成所有配置工作。
1.AIX和Linux操作系统平台下，oracle自启动和关闭的开关在/etc/oratab文件，/etc/oratab实在]]></description><category></category></item><item><title><![CDATA[RMAN新特性duplicate概述和使用]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/72884950</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/72884950</guid><author>wangzihuacool</author><pubDate>Tue, 06 Jun 2017 16:48:16 +0800</pubDate><description><![CDATA[RMANDUPLICATION复制概述
 
DUPLICATE命令可以创建完整的运行良好的数据库副本（clone DB）或Physical standby数据库。
DUPLICATE命令自动为duplicate数据库分配不同的DBID，以便它可以注册在与源数据库相同的catalog中。
DUPLICATION可以是数据库级别，也可以指定表空间级别。
RMAN必须执行基于时间点的恢复，即使]]></description><category></category></item><item><title><![CDATA[oracle 10g的long类型处理bug]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/48253909</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/48253909</guid><author>wangzihuacool</author><pubDate>Sun, 06 Sep 2015 23:58:20 +0800</pubDate><description><![CDATA[因为分区表监控的脚本不想频繁访问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]]></description><category></category></item><item><title><![CDATA[支持alter table move 的数据类型 ：raw blob clob]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/48176419</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/48176419</guid><author>wangzihuacool</author><pubDate>Wed, 02 Sep 2015 12:20:45 +0800</pubDate><description><![CDATA[收缩表清理空间和移动表到另外表空间时常遇到long、blob等数据类型不能迁移的情况。对此做个总结
支持alter table move 的数据类型 ：raw blob clob 
不支持的数据类型 ：long	和 long raw]]></description><category></category></item><item><title><![CDATA[oracle11g dataguard安装实施]]></title><link>https://blog.youkuaiyun.com/wangzihuacool/article/details/48162835</link><guid>https://blog.youkuaiyun.com/wangzihuacool/article/details/48162835</guid><author>wangzihuacool</author><pubDate>Tue, 01 Sep 2015 20:14:10 +0800</pubDate><description><![CDATA[oracle 11g dataguard 安装配置]]></description><category></category></item></channel></rss>