专注,勤学,慎思。戒骄戒躁,谦虚谨慎

just do it

导航

2018年5月29日 #

MySQL InnoDB 事务实现过程相关内容的概述

摘要: MySQL事务的实现涉及到redo和undo以及purge,redo是保证事务的原子性和持久性;undo是保证事务的一致性(一致性读和多版本并发控制);purge清理undo表空间背景知识,对于Innodb表中的行每一行包括:6字节的事务ID(DB_TRX_ID)字段: 用来标识最近一次对本行记录做 阅读全文

posted @ 2018-05-29 21:34 MSSQL123 阅读(533) 评论(1) 推荐(1) 编辑

2018年5月23日 #

MySQL GTID复制Slave跳过错误事务Id以及复制排错问题总结

摘要: GTID复制典型的复制错误有两种:1,数据对象级别的错误,包括主库上update的数据在从库上不存在,主从逐渐冲突,库表索引等对象的冲突等等, 如果是纯粹的跳过错误的话,这一类的错误需要跳过思路是找到主库binlog中对应的事务Id然后在从库上跳过即可。2,日志找不到的错误,也即从库在执行利用主库上 阅读全文

posted @ 2018-05-23 22:08 MSSQL123 阅读(8372) 评论(0) 推荐(0) 编辑

2018年5月22日 #

MySQL复制相关技术的简单总结

摘要: MySQL有很多种复制,至少从概念上来看,传统的主从复制,半同步复制,GTID复制,多线程复制,以及组复制(MGR)。咋一看起来很多,各种各样的复制,其实从原理上看,各种复制的原理并无太大的异同。每一种复制的出现都是有其原因的,是解决(或者说是弥补)前一种的复制方案的潜在的问题的。新的复制方式的出现 阅读全文

posted @ 2018-05-22 21:53 MSSQL123 阅读(928) 评论(2) 推荐(2) 编辑

2018年5月18日 #

SQL Server扩展事件的使用ring_buffer target时“丢失”事件的原因分析以及ring_buffer target潜在的问题

摘要: 事情起因: 排查SQL Server上的死锁问题,一开始想到的就是扩展事件, 第一种方案,开profile守株待兔吧,显得太low了,至于profile的变种trace吧,垂垂老矣,也一直没怎么用过。 第二种方案是开启TRACE flag(DBCC TRACEON (3605,1204,1222,- 阅读全文

posted @ 2018-05-18 21:00 MSSQL123 阅读(919) 评论(2) 推荐(3) 编辑

2018年5月17日 #

zabbix 安装

摘要: LAMP的环境 需要先准备好LAMP的环境 由于之前我已经使用yum完整安装过一套Zabbix,说实话,yum安装的路径乱七八糟的,真不如二进制包安装自己配置清晰,先全部卸载相关组件,确保是一个干净的环境 重新安装一遍,记录一下,否则时间长了又忘了具体的过程了。 二进制包下载 wget http:/ 阅读全文

posted @ 2018-05-17 21:59 MSSQL123 阅读(479) 评论(0) 推荐(2) 编辑

2018年4月25日 #

MySQL多实例的环境下,服务器端本地连接到指定实例的问题(sock方式连接)

摘要: 涉及到sock连接的问题。 为了测试MySQL的某些个特性,在一个机器上安装了多个MySQL的实例,如下截图,有两个实例,一个端口是8000,一个端口是8001。在使用mysql -uroot -p -P8001连接至端口号为8001的MySQL实例的时候,show variables like ' 阅读全文

posted @ 2018-04-25 18:30 MSSQL123 阅读(1548) 评论(0) 推荐(1) 编辑

2018年3月14日 #

binlog2sql实现MySQL误操作的恢复

摘要: 对于MySQL数据库中的误操作删除数据的恢复问题,可以使用基于MySQL中binlog做到类似于闪回或者生成反向操作的SQL语句来实现,是MySQL中一个非常实用的功能。原理不难理解,基于MySQL的row格式的binlog中,记录历史的增删改SQL信息,基于此解析出来对应的SQL语句(回滚的话就是 阅读全文

posted @ 2018-03-14 22:17 MSSQL123 阅读(1393) 评论(1) 推荐(3) 编辑

MySQL 8.0 新增SQL语法对窗口函数和CTE的支持

摘要: 尝试了一下MySQL 8.0的部分新特性。 如果用过MSSQL或者是Oracle中的窗口函数(Oracle中叫分析函数), 然后再使用MySQL 8.0之前的时候,就知道需要在使用窗口函数处理逻辑的痛苦了,虽然纯SQL也能实现类似于窗口函数的功能,但是这种SQL在可读性和以及使用方式上大打折扣,看起 阅读全文

posted @ 2018-03-14 22:03 MSSQL123 阅读(11446) 评论(0) 推荐(3) 编辑

2018年2月6日 #

MySQL统计信息以及执行计划预估方式初探

摘要: 数据库中的统计信息在不同(精确)程度上描述了表中数据的分布情况,执行计划通过统计信息获取符合查询条件的数据大小(行数),来指导执行计划的生成。在以Oracle和SQLServer为代表的商业数据库,和以开源的PostgreSQL为代表的数据库中,直方图是统计信息的一个重要组成部分。在生成执行计划的时 阅读全文

posted @ 2018-02-06 22:21 MSSQL123 阅读(2013) 评论(2) 推荐(2) 编辑

2018年1月28日 #

MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结

摘要: MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。其中重做日志和回滚日志与事务操 阅读全文

posted @ 2018-01-28 10:17 MSSQL123 阅读(34843) 评论(10) 推荐(16) 编辑

2018年1月25日 #

MySQL中Checkpoint技术

摘要: 个人读书笔记,详情参考《MySQL技术内幕 Innodb存储引擎》 1,checkpoint产生的背景数据库在发生增删查改操作的时候,为了提高事物操作的效率,都是先在buffer pool中完成的,buffer pool中修改之后的数据,并没有立即写入到磁盘,这有可能会导致内存中数据与磁盘中的数据产 阅读全文

posted @ 2018-01-25 21:35 MSSQL123 阅读(1199) 评论(1) 推荐(0) 编辑

2018年1月21日 #

Inception服务的安装以及使用Python 3 实现MySQL的审计

摘要: Inception服务的安装以及使用Python实现MySQL的审计 Bison是Inception服务所依赖的包之一,但是某些Linux版本已安装的Bison,或者是通过yum安装的Bison,通常是Bison 3.0+版本的.对于Inception程序来说,其Bison版本是过高的,会导致Inc 阅读全文

posted @ 2018-01-21 11:45 MSSQL123 阅读(3669) 评论(0) 推荐(0) 编辑

2017年11月29日 #

SQL Server与MySQL在“存在则更新,不存在则插入”并发处理上的一些差异。

摘要: “存在则更新,不存在则插入的逻辑”并发情况下的处理 在sqlserver中: 在sqlserver中,是通过可序列化隔离级别+排它锁的方式来锁定一个范围来实现的当前锁定一个不存在的记录的时候,sqlserver是通过范围锁来实现的,具体锁定的范围,表中已存在的数据和当前具体判断的Id有关参考之前写的 阅读全文

posted @ 2017-11-29 16:04 MSSQL123 阅读(1442) 评论(0) 推荐(0) 编辑

2017年11月27日 #

Python导出MySQL数据库中表的建表语句到文件

摘要: 为了做数据对象的版本控制,需要将MySQL数据库中的表结构导出成文件进行版本化管理,试写了一下,可以完整导出数据库中的表结构信息 建库测试 执行的时候会提示一个警告,但是不影响最终的结果 mysqldump: [Warning] Using a password on the command lin 阅读全文

posted @ 2017-11-27 11:21 MSSQL123 阅读(5193) 评论(0) 推荐(1) 编辑

2017年11月23日 #

SqlServer中的UNION操作符在合并数据时去重的原理以及UNION运算符查询结果默认排序的问题

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7884986.html 周围又有人在讨论UNION和UNION ALL,对于UNION和UNION ALL,网上说的最多的就是性能问题(实在不想说出来这句话:UNION ALL比UNION快)其实根本不想炒UNION和UNIO 阅读全文

posted @ 2017-11-23 22:51 MSSQL123 阅读(11301) 评论(1) 推荐(3) 编辑

2017年11月17日 #

从performance_schema中查看MySQL活动Session的详细执行信息

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7851294.html 在做数据库的异常诊断的时候,之前在SQL Server上的时候,最主要的参考信息之一就是去看当前的活动Session有哪些,这些活动Session分别在执行什么语句,用的什么执行方式(计划),运行了多久 阅读全文

posted @ 2017-11-17 14:24 MSSQL123 阅读(6059) 评论(0) 推荐(0) 编辑

2017年11月9日 #

MySQL中的sort_buffer_size参数大小的设置问题

摘要: 看到sort_buffer_size这个参数(connect级别的参数,MySQL5.7,默认值是1048576字节,也就是1MB)的默认值这么小,想着是不是可以调大一点,反正内存动不动几十个GB的,也不在乎这个几MB的。注:笔者尝试修改这个参数的值,在典型的排序(较大的表,排序字段无所索引的条件下 阅读全文

posted @ 2017-11-09 23:54 MSSQL123 阅读(30383) 评论(3) 推荐(1) 编辑

MySQL存储过程定义中的特性(characteristic)的含义

摘要: MySQL的存储过程蛮啰嗦的,与MSSQL或者Oracle的存储过程相比,如果没有显式指定,他会隐含地指定一系列特性(characteristic)的默认值来创建存储过程 通常在使用图形界面工具进行存储过程编写的时候,图形界面工具会自动加上这部分内容比,如用HeidiSQL创建存储过程的时候,会自动 阅读全文

posted @ 2017-11-09 23:40 MSSQL123 阅读(2320) 评论(0) 推荐(0) 编辑

2017年10月25日 #

SQL Server中使用数据库快照的方式来完成测试环境中数据库的轻量级备份还原操作

摘要: 在开发或者测试环境的数据库中,经常会发现有开发或者测试人员误删除表或者数据的情况,对于开发或者测试库,一般都没有安排定时的备份任务去备份数据库,一方面是由于存储资源有限,不太可能给开发或者测试环境准备大量的存储空间,二是必要性不是很强,开发或者测试库的数据库对象变化太多,通过还原备份的方式又有可能冲 阅读全文

posted @ 2017-10-25 23:14 MSSQL123 阅读(722) 评论(1) 推荐(4) 编辑

2017年10月11日 #

SQLServer中重建聚集索引之后会影响到非聚集索引的索引碎片吗

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7650215.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 上午(20171011)看到qq群里发了一个云栖大会的链接,点进去看了一下 阅读全文

posted @ 2017-10-11 15:15 MSSQL123 阅读(1609) 评论(0) 推荐(1) 编辑

2017年9月23日 #

设计表的时候,对于自增列做物理主键使用的一点思考

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7581380.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 关于自增列 自增列作为数据库的一个特性之一,在MSSQL和MySQL以及O 阅读全文

posted @ 2017-09-23 20:39 MSSQL123 阅读(2940) 评论(3) 推荐(5) 编辑

2017年9月17日 #

MySQL慢查询日志相关的配置和使用。

摘要: MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能,MySQL慢查询日志的开启和配置非常简单,可以指定记录的文件(或者表),超过的时间阈值等就可以记录到慢sql了,实话讲,相比较sqlserver的trace或者扩展事件(虽然此二者的作用并非仅 阅读全文

posted @ 2017-09-17 21:08 MSSQL123 阅读(1244) 评论(0) 推荐(1) 编辑

2017年9月10日 #

浅析SQL Server在可序列化隔离级别下,防止幻读的范围锁的锁定问题

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7501261.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 数据库在处理并发事物的过程中,在不同的隔离级别下有不同的锁表现,在非可序列 阅读全文

posted @ 2017-09-10 17:59 MSSQL123 阅读(1514) 评论(5) 推荐(8) 编辑

2017年9月7日 #

从一个简单的约束看规范性的SQL脚本对数据库运维的影响

摘要: 之前提到了约束的一些特点,看起来也没什么大不了的问题,http://www.cnblogs.com/wy123/p/7350265.html以下以实际生产运维中遇到的一个问题来说明规范的重要性。 如下是一个简单的建表脚本,表面上看起来并没有什么问题。其中创建了3个约束,一个主键约束,一个唯一约束,一 阅读全文

posted @ 2017-09-07 22:02 MSSQL123 阅读(501) 评论(2) 推荐(2) 编辑

2017年8月27日 #

(译)内存沉思:多个名称相关的神秘的SQL Server内存消耗者。

摘要: 原文出处:https://blogs.msdn.microsoft.com/sqlmeditation/2013/01/01/memory-meditation-the-mysterious-sql-server-memory-consumer-with-many-names/ 对于多个不同名称的内 阅读全文

posted @ 2017-08-27 20:15 MSSQL123 阅读(485) 评论(0) 推荐(0) 编辑

2017年8月16日 #

浅析MySQL中的Index Condition Pushdown (ICP 索引条件下推)和Multi-Range Read(MRR 索引多范围查找)查询优化

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7374078.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) ICP优化原理 Index Condition Pushdown (ICP) 阅读全文

posted @ 2017-08-16 20:45 MSSQL123 阅读(1839) 评论(2) 推荐(2) 编辑

2017年8月15日 #

MySQL执行计划extra中的using index 和 using where using index 的区别

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7366486.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) mysql执行计划中的extra列中表明了执行计划的每一步中的实现细节,其 阅读全文

posted @ 2017-08-15 20:34 MSSQL123 阅读(52428) 评论(8) 推荐(28) 编辑

2017年8月12日 #

SQL Server中有关约束(constraint)的一些细节

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7350265.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) SQL Server 数据库中的约束(Constrint)是作用是为了保证 阅读全文

posted @ 2017-08-12 15:27 MSSQL123 阅读(15072) 评论(0) 推荐(1) 编辑

2017年7月30日 #

MySQL InnoDB内存压力判断以及存在的疑问

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7259866.html(保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 与其他数据一样,内存对数据库的性能有着至关重要的影响,MySQL InnoD 阅读全文

posted @ 2017-07-30 23:25 MSSQL123 阅读(1134) 评论(5) 推荐(1) 编辑

2017年7月23日 #

一些值得收藏的数据库知识链接

摘要: postgresql 技术内幕 https://www.jiangguo.net/c/42e/dn.html Postgresql Buffer pool设置: PostgreSQL 自己的 DB buffer & 与别的人的OS cache 之 回答问题:https://cloud.tencent 阅读全文

posted @ 2017-07-23 12:02 MSSQL123 阅读(702) 评论(2) 推荐(2) 编辑

2017年7月22日 #

SQL Server 中的6种事务隔离级别简单总结

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7218316.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 数据库中的事物是具有原子性(Atomicity),一致性(Consiste 阅读全文

posted @ 2017-07-22 11:18 MSSQL123 阅读(2376) 评论(0) 推荐(1) 编辑

2017年7月20日 #

MySQL InnoDB引擎B+树索引简单整理说明

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7211742.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) MySQL中的InnoDB引擎表索引类型有一下几种(以下所说的索引,没有特 阅读全文

posted @ 2017-07-20 16:51 MSSQL123 阅读(909) 评论(0) 推荐(2) 编辑

2017年7月16日 #

SQLServer中的执行计划缓存由于长时间缓存对性能造成的干扰

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7190785.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 先抛出一个性能问题,前几天遇到一个生产环境性能极其低下的存储过程,开发人员 阅读全文

posted @ 2017-07-16 17:17 MSSQL123 阅读(5640) 评论(12) 推荐(6) 编辑

2017年7月15日 #

MySQL二进制日志(binary log)总结

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 今天无意中发现了一个云栖社区举行的MySQL“第一季:挑战玄惭之 慢SQL 阅读全文

posted @ 2017-07-15 19:09 MSSQL123 阅读(6817) 评论(0) 推荐(1) 编辑

2017年7月11日 #

MySQL master-slave主从复制环境搭建初试

摘要: 环境为centos 7.2+mysql 5.7,网上教程很多,原理也不复杂(深知自己踩的坑还不够) 正常情况下,配置起来比较简单。另外,根据个人感受,MySQL的复制感觉要比SQL Server的复制要清爽很多(尽管功能上可能有一些差异)。 master服务器,首先是开启了二进制日志,同时设置ser 阅读全文

posted @ 2017-07-11 10:43 MSSQL123 阅读(798) 评论(2) 推荐(2) 编辑

2017年7月2日 #

SQL Server中多表连接时驱动顺序对性能的影响

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 最近在SQL Server中多次遇到开发人员提交过来的有性能问题的SQL, 阅读全文

posted @ 2017-07-02 19:29 MSSQL123 阅读(3017) 评论(4) 推荐(1) 编辑

2017年7月1日 #

MySQL 物理文件体系结构的简单整理说明

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7102128.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 本文的数据库版本是MySQL5.7.18,简单介绍一下MySQL数据文件目 阅读全文

posted @ 2017-07-01 19:46 MSSQL123 阅读(4093) 评论(0) 推荐(2) 编辑

2017年6月28日 #

MySQL中IN子查询会导致无法使用索引

摘要: 今天看到一个博客园的一篇关于MySQL的IN子查询优化的案例,一开始感觉有点半信半疑(如果是换做在SQL Server中,这种情况是绝对不可能的,后面会做一个简单的测试。)随后动手按照他说的做了一个表来测试验证,发现MySQL的IN子查询做的不好,确实会导致无法使用索引的情况(IN子查询无法使用所以 阅读全文

posted @ 2017-06-28 23:41 MSSQL123 阅读(21869) 评论(0) 推荐(4) 编辑

2017年6月18日 #

译:SOS_SCHEDULER_YIELD类型等待在虚拟机环境中的增多

摘要: 原文出处:Increased SOS_SCHEDULER_YIELD waits on virtual machines 注: 原文的用词是Increased,想译作增强(增长),或者加强,这么译起来是褒义词,而原文要表达的Increased并没有褒义的含义,最起码是一个中性的含义,想来想起用一个“ 阅读全文

posted @ 2017-06-18 22:32 MSSQL123 阅读(452) 评论(0) 推荐(0) 编辑

2017年6月13日 #

MySQL分页优化中先按照Id分页后再join原始表到底在什么情况下会生效?

摘要: 本文出处:http://www.cnblogs.com/wy123/p/7003157.html 最近无意间看到一个MySQL分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的方案,因为现实中很多情况都不是固定不变的,能总结出来通用性的做法或者说是规律,是要考虑非常多的场景的 阅读全文

posted @ 2017-06-13 23:02 MSSQL123 阅读(6602) 评论(8) 推荐(5) 编辑