代码改变世界

评论排行榜

MySQL InnoDB下关于MVCC的一个问题的分析

2018-05-29 22:33 by 潇湘隐者, 1236 阅读, 收藏,
摘要: 这个是网友++C++在群里问的一个关于MySQL的问题,本篇文章实验测试环境为MySQL 5.6.20,事务隔离级别为REPEATABLE-READ ,在演示问题前,我们先准备测试环境。准备一个测试表test以及一个存储过程循环往test表里面插入记录。 CREATE TABLE test( `id` int(11) primary key not null, `name` char... 阅读全文

Innotop简单介绍

2017-10-12 15:30 by 潇湘隐者, 1824 阅读, 收藏,
摘要: Innotop介绍 Innotop是一款Perl脚本编写、开源、功能强大的MySQ的监控工具,它通过文本模式(命令行模式)监控,功能强大,配置简单,易于使用等等特性。Innotop这个项目位于https://github.com/innotop/innotop上。官方的介绍如下: innotop is a 'top' clone for MySQL with many features... 阅读全文

ORACLE中死锁的知识点总结

2017-06-01 12:20 by 潇湘隐者, 21371 阅读, 收藏,
摘要: 死锁的概念 什么是死锁呢? 其实我们生活中也有很多类似死锁的例子。 我先举一个生活中的例子:过年回家,父亲买了一把水弹枪,儿子和侄子争抢着要先玩,谁也不让谁,拆开包装后,一个抢了枪, 一个逮住了子弹和弹夹。两个都争着要先玩,但是都互不相让。结果两个人都玩不了。如果儿子要先玩,就必须让侄子把子弹和弹夹给他,如果侄子要先玩,就必须让儿子把枪给侄子。他们就这样对峙了十几分钟,互不相让。 ... 阅读全文

SQL Server中INNER JOIN与子查询IN的性能测试

2017-05-17 17:07 by 潇湘隐者, 18298 阅读, 收藏,
摘要: 这个月碰到几个人问我关于“SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?”这个问题。其实这个概括起来就是SQL Server中INNER JOIN与子查询孰优孰劣(IN是子查询的实现方式之一,本篇还是只对比INNER JOIN与子查询IN的性能,如果展开INNER JOIN与子查询性能对比,范围太大了,没法一一详述)。下面这篇文章,我们就INNER JOIN与子查询I... 阅读全文

VMware中CPU分配不合理以及License限制引起的SQL Scheduler不能用于查询处理

2016-11-25 11:48 by 潇湘隐者, 2272 阅读, 收藏,
摘要: 有一台SQL Server(SQL Server 2014 标准版)服务器中的scheduler_count与cpu_count不一致,如下截图所示: SELECT cpu_count , scheduler_count FROM sys.dm_os_sys_info; SQL Server中Scheduler数量应该与逻辑CPU的核数一致,而sys.dm_os_sy... 阅读全文

ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析

2016-10-08 23:37 by 潇湘隐者, 9257 阅读, 收藏,
摘要: 在ORACLE数据库中有物理读(Physical Reads)、逻辑读(Logical Reads)、一致性读(Consistant Get)、当前模式读(DB Block Gets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯晕的。下面我们总结、学习一下这方面的知识点。捋一捋他们的关系和特点,希望对你有所帮助。 物理读(... 阅读全文

SQL SERVER中隐式转换的一些细节浅析

2016-09-08 15:32 by 潇湘隐者, 6172 阅读, 收藏,
摘要: 其实这是一篇没有技术含量的文章,精通SQL优化的请绕道。这个缘起于在优化一个SQL过程中,同事问了我一个问题,为什么SQL中存在隐式转换,但是执行计划没有变? 我思索了一下,觉得这个问题也有点意思,说不定有些对隐式转换了解得不深入的同学都有此疑问,那么下面结合上下文场景做一个细节方面的解答。 我们一个系统中使用了ORMLite框架,粗心的开发人员弄出了不少下面这样的SQL语句,都存在隐式转换问题,... 阅读全文

ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []

2016-07-06 22:49 by 潇湘隐者, 4860 阅读, 收藏,
摘要: 今天在PlateSpin Forge(关于PlateSpin相关介绍,请见最下面部分简单介绍) 复制出来的一台数据库服务器上,测试数据库能否正常启动时,遇到了“ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []”错误: 在官方文档介绍中,这个错误主要出现在磁盘... 阅读全文

Linux如何查看JDK的安装路径

2015-08-27 12:14 by 潇湘隐者, 199232 阅读, 收藏,
摘要: 如何在一台Linux服务器上查找JDK的安装路径呢? 有那些方法可以查找定位JDK的安装路径?是否有一些局限性呢? 下面总结了一下如何查找JDK安装路径的方法. 1:echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localhost ~]# java -vers... 阅读全文

SQL SERVER Transactional Replication中添加新表如何不初始化整个快照

2015-02-02 00:29 by 潇湘隐者, 3716 阅读, 收藏,
摘要: 在SQL SERVER的复制(Replication)中,有可能出现由于业务需求变更,需要新增一张表或一些表到已有的复制(发布订阅)当中,这种需求应该是很正常,也很常见的。但是在已有的复制(发布订阅)当中增加新表/文章,往往需要将整个快照重新初始化,这样做虽然简单,但是往往在实际应用中会出现一些问题,例如,发布订阅的表比较多,数据量比较大,那么重新初始化快照往往需要很长一段时间,影响系统正常运行... 阅读全文

ORACLE应用调优:请避免SQL做大量循环逻辑处理

2014-11-21 00:22 by 潇湘隐者, 3806 阅读, 收藏,
摘要: 前阵子遇到一个案例:一个同事说以前一个运行很正常的包,突然间比以前慢了很多,执行时间非常长,晚上的作业调用这个包跑了几个小时也没有跑出数据。于是我在跟踪、优化过程中定位到包中一个存储过程的一段SQL,我将原SQL简化了一下(对应的表名、函数全都随机取名替换掉),大体如下所示,在一个游标中,循环更新表TMP_JO_ORDERS, 其中需要通过函数获取一些值,这些值用来更新目标表的字段值 ... 阅读全文

ORACLE临时表空间总结

2014-10-05 11:35 by 潇湘隐者, 97379 阅读, 收藏,
摘要: 临时表空间概念 临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERS... 阅读全文

SQL SERVER 2012 修改数据库默认位置不立即生效

2014-03-17 23:11 by 潇湘隐者, 15329 阅读, 收藏,
摘要: 今天修改SQL SERVER 2012的数据库默认位置:即数据文件、日志文件默认位置时遇到一个问题,单击"服务器属性”(Server Properties)——> 数据库设置(Database Settings), 修改了数据文件和日志的默认路径。点击确认后再打开该属性窗口,居然发现修改的值变回修改前的值了。刚开始我以为是修改没有生效,没有修改到注册表,但是检查注册表,在HKEY_LOCAL_MA... 阅读全文

The process could not execute 'sp_repldone/sp_replcounters' on 'ServerName'

2013-10-17 09:22 by 潇湘隐者, 3944 阅读, 收藏,
摘要: 昨天发现发布服务器S(SQL Server 2008 R2),出现大量如下错误错误细节如下所示:Date 10/16/2013 4:04:14 PMLog SQL Server (Current - 10/16/2013 3:44:00 PM)Source spid52MessageReplication-Replication Transaction-Log Reader Subsystem: agent xxxxx failed. The process could not execute 'sp_repldone/sp_replcounters' on ' Ser 阅读全文

ORACLE数据库SQL语句的执行过程

2013-10-08 11:58 by 潇湘隐者, 22758 阅读, 收藏,
摘要: SQL语句在数据库中处理过程是怎样的呢?执行顺序呢?在回答这个问题前,我们先来回顾一下:在ORACLE数据库系统架构下,SQL语句由用户进程产生,然后传到相对应的服务端进程,之后由服务器进程执行该SQL语句,如果是SELECT语句,服务器进程还需要将执行结果回传给用户进程。SQL语句的执行过程一般如下:解析(PARSE)—— 绑定(BIND)——执行(EXECUTE)——提取(FETCH 只有SELECT才需要这步)解析服务器进程接收到一个SQL语句时,首先要将其转换成执行这个SQL语句的最有效步骤,这些步骤被称为执行计划。Step 1:检查共享池中是否有之前解析相同的SQL语句后所存储的.. 阅读全文
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 31 下一页