代码改变世界

评论排行榜

SQL Server ——动态SQL

2010-08-05 00:06 by 潇湘隐者, 22694 阅读, 收藏,
摘要: 动态SQL:code that is executed dynamically。它一般是根据用户输入或外部条件动态组合的SQL语句块。动态SQL能灵活的发挥SQL强大的功能、方便的解决一些其它方法难以解决的问题。相信使用过动态SQL的人都能体会到它带来的便利,然而动态SQL有时候在执行性能(效率)上面不如静态SQL,而且使用不恰当,往往会在安全方面存在隐患(SQL 注入式攻击)。动态SQL可以通过... 阅读全文

MySQL的共享锁阻塞会话案例浅析

2020-09-23 08:26 by 潇湘隐者, 1173 阅读, 收藏,
摘要: 这是问题是一个网友遇到的问题:一个UPDATE语句产生的共享锁阻塞了其他会话的案例,对于这个案例,我进一步分析、总结和衍化了相关问题。下面分析如有不对的地方,敬请指正。下面是初始化环境和数据的脚本。 ---- Table structure for table `tableA`--DROP TABLE IF EXISTS `tableA`;CREATE TABLE `tableA` ... 阅读全文

SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享

2015-12-17 23:20 by 潇湘隐者, 1518 阅读, 收藏,
摘要: 这个问题是在SQL SERVER 2005 升级到SQL SERVER 2014的测试过程中一同事发现的。我觉得有点意思,遂稍微修改一下脚本展示出来,本来想构造这样的一个案例来演示,但是畏惧麻烦,遂直接贴上原表,希望Leader不要叼我(当然个人觉得真没啥,两张表名而已,真泄露不了啥信息)。 脚本如下所示,非常简单的一段SQL语句,我将其分为SQL1、SQL2、SQL3. 其实SQ... 阅读全文

Unable to open the physical file xxxx. Operating system error 2

2015-05-27 17:19 by 潇湘隐者, 4428 阅读, 收藏,
摘要: 在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上。由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面。 ALTER DATABASE tempdbMODIFY FILE(name='tempdev', filename='D:\tempdb.mdf') ; GO ALTER DATABASE tempdbMODIFY FI... 阅读全文

浅析SQL SERVER执行计划中的各类怪相

2014-07-11 15:30 by 潇湘隐者, 5502 阅读, 收藏,
摘要: 在查看执行计划或调优过程中,执行计划里面有些现象总会让人有些疑惑不解: 1:为什么同一条SQL语句有时候会走索引查找,有时候SQL脚本又不走索引查找,反而走全表扫描? 2:同一条SQL语句,查询条件的取值不同,它的执行计划会一致吗? 3: 同一条SQL语句,其执行计划会变化,为什么 4: 在查询条件的某个或几个字段上创建了索引,执行计划就一定会走该索引吗? 5:同时存在几个索引... 阅读全文

ORACLE表空间管理维护

2013-11-11 23:24 by 潇湘隐者, 39532 阅读, 收藏,
摘要: 1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段、区、块等逻辑结构。从物理结构上看是放在数据文件中。一个表空间可由多个数据文件组成。 如下图所示,一个数据库由对应一个或多个表空间,表空间逻辑上有一个或多个段(Segment)组成,物理上由一个或多个os file组成。 1.1基本的表空间 系统中默认创建的几个表空间: ... 阅读全文

MS SQL 监控数据/日志文件增长

2013-05-12 22:08 by 潇湘隐者, 1810 阅读, 收藏,
摘要: 前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统业务猛增导致数据量暴增,还是历史数据累计原因....分析总得有数据来支撑吧,但是现在只有那些数据文件的当前大小信息,没有数据文件的历史增长变化信息,所以,今天就想实现这么一个功能,每天(频率可以调整)去收集一下数据文件的信息,放到一个表里面,这样方便我们分析数据文件的增长演变例程,甚至你可以将数据文件的增长幅度和业务变化关联起来分析....那么接下来. 阅读全文

YourSQLDba介绍

2013-05-02 23:22 by 潇湘隐者, 2538 阅读, 收藏,
摘要: YourSQLDba介绍YourSQLDba是一个法国人写的程序,它是由一系列T-SQL存储过程构成的脚本文件。可以理解成一个组件或安装包,从而简化了在Mircorsoft SQL Server 2005/2008 数据库的安装,部署。它可以提供自动、复杂,非常容易定制的数据库维护管理,从而可以极大的让DBA从繁杂的维护工作中释放出来。这是一个优秀的工具,可以减轻你的工作。也是每个DBA应该努力的方向,可以编写自己的数据库管理维护工具,让你从繁杂的工作中解脱出来。YourSQLDba的官方网站:http://www.grics.qc.ca/yoursqldba/index_en.shtml主要 阅读全文

ORACLE同义词总结

2012-12-19 14:59 by 潇湘隐者, 95539 阅读, 收藏,
摘要: 同义词概念Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;Oracle数据库中提供了同义词管理的功能。同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词 阅读全文

ORACLE数据库查看执行计划

2012-05-24 22:28 by 潇湘隐者, 38152 阅读, 收藏,
摘要: 基于ORACLE的应用系统很多性能问题,是由应用系统SQL性能低劣引起的,所以,SQL的性能优化很重要,分析与优化SQL的性能我们一般通过查看该SQL的执行计划,本文就如何看懂执行计划,以及如何通过分析执行计划对SQL进行优化做相应说明。一、什么是执行计划(explain plan)执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述。二、如何查看执行计划1: 在PL/SQL下按F5查看执行计划。第三方工具toad等。很多人以为PL/SQL的执行计划只能看到基数、优化器、耗费等基本信息,其实这个可以在PL/SQL工具里面设置的。可以看到很多其它信息,如下所示2: 在SQL*PLUS 阅读全文

SQL Server——存储过程

2010-08-14 01:10 by 潇湘隐者, 7215 阅读, 收藏,
摘要: 我想从下面几个方面大概的讲述下存储过程,可能有些知识点是你没有注意的,也可能有些知识点我不知道,欢迎大家指点指点。如有不足,欢迎指教!存储过程概念存储过程优点存储过程的接口存储过程的解析、编译过程存储过程安全性查看存储过程加密、解密存储过程存储过程概念存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(带参... 阅读全文

SQL*Plus生成html文件

2016-12-27 12:12 by 潇湘隐者, 3253 阅读, 收藏,
摘要: 最近使用SQL*Plus命令生成html文件,遇到一些有意思的知识点,顺便记录一下,方便以后需要的时候而这些知识点又忘记而捉急。好记性不如烂笔头吗! 为什么要用SQL*Plus生成html文件? 有些人肯定会问,我使用SQL*Plus为什么要生成html文件呢? SQL*Plus本身就是一个命令工具,生成html文件有必要吗? 下面是个人的一些看法,如有不对,敬请指正: 有很大一部分ORA... 阅读全文

SQL SERVER 中如何用脚本管理作业

2016-06-03 10:32 by 潇湘隐者, 2447 阅读, 收藏,
摘要: 在SQL SERVER中用脚本管理作业,在绝大部分场景下,脚本都比UI界面管理作业要高效、简洁。打个简单的比方,如果你要查看作业的运行时长,如果用UI界面查看,100个作业,你就得在历史记录里面至少查看一百次甚至更多,还要记录、统计作业各个步骤的执行时间。而用脚本,一个查询就OK了。这篇文章分享一些我在数据库管理过程中积累的一些常用脚本。 如有不足或需要完善的地方,也请多多指教。 1:... 阅读全文

MS SQL 监控错误日志的告警信息

2014-10-28 12:09 by 潇湘隐者, 4592 阅读, 收藏,
摘要: SQL Server的错误消息(Error Message)按照消息的严重级别一共划分25个等级,级别越高,表示严重性也越高。但是如果你统计sys.messages,你会发现,实际上只有16(SQL SERVER 2008/2012)或17个(SQL SERVER 2005)个级别。猜测应该是一些留作扩展用,一些留作用户自定义错误消息的级别。 sys.messages中有个字段is... 阅读全文

ORACLE优化器RBO与CBO介绍总结

2014-07-14 10:38 by 潇湘隐者, 57719 阅读, 收藏,
摘要: RBO和CBO的基本概念 Oracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL分析和执行的优化工具,它负责生成、制定SQL的执行计划。Oracle的优化器有两种,基于规则的优化器(RBO)与基于代价的优化器(CBO) RBO: Rule-Based Optimization 基于规则的优化器 CBO: Cost-Based Optimization ... 阅读全文
上一页 1 2 3 4 5 6 7 ··· 31 下一页