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

导航

统计

置顶随笔 #

[置顶]SQLServer中使用扩展事件获取Session级别的等待信息以及SQLServer 2016中Session级别等待信息的增强

摘要: 本文出处:http://www.cnblogs.com/wy123/p/6835939.html 什么是等待 简单说明一下什么是等待:当应用程序对SQL Server发起一个Session请求的时候,这个Session请求在数据库中执行的过程中会申请其所需要的资源,比如可能会申请内存资源,表上的锁资阅读全文

posted @ 2017-05-11 09:02 MSSQL123 阅读(470) 评论(1) 编辑

[置顶]SQL Server数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?

摘要: 本文出处:http://www.cnblogs.com/wy123/p/6704619.html 问题背景 在写SQL Server存储过程中,如果存储过程中定义了临时表,有些人习惯在存储过程结束的时候一个一个显式地删除过程中定义的临时表(drop table #tName),有些人又没有这个习惯,阅读全文

posted @ 2017-04-14 08:42 MSSQL123 阅读(2233) 评论(5) 编辑

[置顶]SELECT TOP 1 比不加TOP 1 慢的原因分析以及SELECT TOP 1语句执行计划预估原理

摘要: 本文出处:http://www.cnblogs.com/wy123/p/6082338.html 现实中遇到过到这么一种情况: 在某些特殊场景下:进行查询的时候,加了TOP 1比不加TOP 1要慢(而且是慢很多)的情况, 也就是说对于符合条件的某种的数据,查询1条(符合该条件)数据比查询所有(符合该阅读全文

posted @ 2016-11-20 14:07 MSSQL123 阅读(4156) 评论(7) 编辑

[置顶]SQL Server 统计信息更新时采样百分比对数据预估准确性的影响

摘要: 统计信息更新,采样百分比,密度阅读全文

posted @ 2016-09-15 20:27 MSSQL123 阅读(1060) 评论(4) 编辑

[置顶]SQL Server 并行操作优化,避免并行操作被抑制而影响SQL的执行效率

摘要: 为什么我也要说SQL Server的并行: 这几天园子里写关于SQL Server并行的文章很多,不管怎么样,都让人对并行操作有了更深刻的认识。我想说的是:尽管并行操作可能(并不是一定)存在这样或者那样的问题,但是我们不能否认并行,仍然要利用好并行。但是,实际开发中,某些SQL语句的写法会导致用不到阅读全文

posted @ 2016-07-12 08:45 MSSQL123 阅读(1444) 评论(8) 编辑

[置顶]Sql Server 内存相关计数器以及内存压力诊断

摘要: 在数据库服务器中,内存是数据库对外提供服务最重要的资源之一, 不仅仅是Sql Server,包括其他数据库,比如Oracle,MySQL等,都是一类非常喜欢内存的应用. 在Sql Server服务器中,最理想的情况是Sql Server把所有所需的数据全部缓存到内存中,但是这往往也是不现实的,因为数阅读全文

posted @ 2016-05-22 15:26 MSSQL123 阅读(1097) 评论(7) 编辑

2018年5月18日 #

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

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

posted @ 2018-05-18 21:00 MSSQL123 阅读(18) 评论(0) 编辑

2018年5月17日 #

zabbix 安装

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

posted @ 2018-05-17 21:59 MSSQL123 阅读(32) 评论(0) 编辑

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 阅读(42) 评论(0) 编辑

2018年3月14日 #

binlog2sql实现MySQL误操作的恢复

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

posted @ 2018-03-14 22:17 MSSQL123 阅读(166) 评论(1) 编辑

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

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

posted @ 2018-03-14 22:03 MSSQL123 阅读(248) 评论(0) 编辑

2018年2月6日 #

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

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

posted @ 2018-02-06 22:21 MSSQL123 阅读(234) 评论(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 阅读(319) 评论(2) 编辑

2018年1月25日 #

MySQL中Checkpoint技术

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

posted @ 2018-01-25 21:35 MSSQL123 阅读(60) 评论(1) 编辑

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 阅读(494) 评论(0) 编辑

2017年11月29日 #

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

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

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

2017年11月27日 #

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

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

posted @ 2017-11-27 11:21 MSSQL123 阅读(120) 评论(0) 编辑

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 阅读(99) 评论(1) 编辑

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 阅读(69) 评论(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 阅读(129) 评论(3) 编辑

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

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

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

2017年10月25日 #

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

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

posted @ 2017-10-25 23:14 MSSQL123 阅读(115) 评论(1) 编辑

2017年10月11日 #

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

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

posted @ 2017-10-11 15:15 MSSQL123 阅读(285) 评论(0) 编辑

2017年9月23日 #

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

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

posted @ 2017-09-23 20:39 MSSQL123 阅读(474) 评论(3) 编辑

2017年9月17日 #

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

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

posted @ 2017-09-17 21:08 MSSQL123 阅读(212) 评论(0) 编辑

2017年9月12日 #

Python文件操作---合并文本文件内容

摘要: 目前一个用的比较多的功能:将多个小文件的内容合并在一个统一的文件中,对原始文件重命名标记其已被处理过。之前使用其他脚本写的,尝试用python写了一下,顺便熟悉一下python的文件处理命令。 原始文件 经过处理之后 最后还有一个蛋疼的因为缩进产生的第一个回车符 其中包含了文件的创建和移除,文件内容阅读全文

posted @ 2017-09-12 16:31 MSSQL123 阅读(77) 评论(0) 编辑

2017年9月10日 #

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

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

posted @ 2017-09-10 17:59 MSSQL123 阅读(243) 评论(5) 编辑

2017年9月7日 #

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

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

posted @ 2017-09-07 22:02 MSSQL123 阅读(147) 评论(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 阅读(55) 评论(0) 编辑

2017年8月26日 #

初试Python语法小试牛刀之冒泡排序

摘要: Python很火,心里很慌,没吃过猪肉,也要见见猪走路。 看了几天Python的语法,大概初步了解了一点点,https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 想综合起来练习一下Pyt阅读全文

posted @ 2017-08-26 18:25 MSSQL123 阅读(102) 评论(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 阅读(215) 评论(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 阅读(632) 评论(2) 编辑

2017年8月12日 #

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

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

posted @ 2017-08-12 15:27 MSSQL123 阅读(287) 评论(0) 编辑

2017年7月30日 #

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

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

posted @ 2017-07-30 23:25 MSSQL123 阅读(136) 评论(5) 编辑

2017年7月23日 #

一些值得收藏的MySQL知识链接

摘要: https://yq.aliyun.com/articles/5533(死锁分析的很好的一篇文章) http://hedengcheng.com/?spm=5176.100239.blogcont5533.8.vaztis&p=771#_Toc374698322MySQL死锁问题分析,很全面,对比S阅读全文

posted @ 2017-07-23 12:02 MSSQL123 阅读(78) 评论(1) 编辑

2017年7月22日 #

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

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

posted @ 2017-07-22 11:18 MSSQL123 阅读(286) 评论(0) 编辑

2017年7月20日 #

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

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

posted @ 2017-07-20 16:51 MSSQL123 阅读(119) 评论(0) 编辑

2017年7月16日 #

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

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

posted @ 2017-07-16 17:17 MSSQL123 阅读(816) 评论(5) 编辑

2017年7月15日 #

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

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

posted @ 2017-07-15 19:09 MSSQL123 阅读(231) 评论(0) 编辑

2017年7月11日 #

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

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

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

2017年7月2日 #

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

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

posted @ 2017-07-02 19:29 MSSQL123 阅读(348) 评论(2) 编辑

2017年7月1日 #

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

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

posted @ 2017-07-01 19:46 MSSQL123 阅读(368) 评论(0) 编辑

2017年6月28日 #

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

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

posted @ 2017-06-28 23:41 MSSQL123 阅读(782) 评论(0) 编辑

2017年6月22日 #

xtrabackup备份还原MySQL数据库

摘要: mysqldump 备份鉴于其自身的某些特性(锁表,本质上备份出来insert脚本或者文本,不支持差异备份),不太适合对实时性要求比较高的情况Xtrabackup可以解决mysqldump存在的上述的一些问题,生产环境应用的也会更多一些。本文简单测试一下Xtrabackup对MySQL数据库的备份还阅读全文

posted @ 2017-06-22 15:34 MSSQL123 阅读(122) 评论(2) 编辑

2017年6月18日 #

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

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

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

2017年6月13日 #

MySQL分页优化中的“INNER JOIN方式优化分页算法”到底在什么情况下会生效?

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

posted @ 2017-06-13 23:02 MSSQL123 阅读(1275) 评论(8) 编辑