摘要:在SQL SERVER的查询语句中使用OR是否会导致不走索引查找(Index Seek)或索引失效(堆表走全表扫描 (Table Scan)、聚集索引表走聚集索引扫描(Clustered Index Scan))呢?是否所有情况都是如此?又该如何优化呢? 下面我们通过一些简单的例子来分析理解这些现象。下面的实验环境为SQL SERVER 2008,如果在不同版本有所区别,欢迎指正。 堆表单索... 阅读全文
作业配置规范文档[MS SQL]
2015-08-02 16:28 by 潇湘隐者, 1370 阅读, 1 推荐, 收藏,
摘要:作业配置规范文档(MS SQL) 文档类型 MS SQL数据库作业配置规范文档 创建日期 2015-07-30 版本变化 V3.0 修改记录 修改人 修改日期 版本 修改描述 潇湘隐者 2015-08-01 V1.0 创建制定文档 潇湘隐者 2015-08-13 V2.0 修改部分内容,例如Schedule命名 ... 阅读全文
SQL Server中的“最大并行度”的配置建议
2015-07-31 16:26 by 潇湘隐者, 16715 阅读, 3 推荐, 收藏,
摘要:SQL Server中的最大并行度(max degree of parallelism)如何设置呢? 设置max degree of parallelism有什么好的建议和指导方针呢?在微软官方文档Recommendations and guidelines for the "max degree ... 阅读全文
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
2015-07-30 23:17 by 潇湘隐者, 17339 阅读, 3 推荐, 收藏,
摘要:从供应商手中接手一个云平台(Windwos Azure)上的MySQL数据库,登录数据库时遇到错误: $mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 检查配置文件/et... 阅读全文
Linux 关于Transparent Hugepages的介绍
2015-07-23 16:54 by 潇湘隐者, 55337 阅读, 10 推荐, 收藏,
摘要:透明大页介绍 Transparent Huge Pages的一些官方介绍资料: Transparent Huge Pages (THP) are enabled by default in RHEL 6 for all applications. The kernel attempts to allocate hugepages whenever possible and any Linux ... 阅读全文
SQL SERVER 2012/2014 链接到 SQL SERVER 2000的各种坑
2015-07-22 16:35 by 潇湘隐者, 11229 阅读, 2 推荐, 收藏,
摘要:本文总结一下SQL SERVER 2012/2014链接到SQL SERVER 2000的各种坑,都是在实际应用中遇到的疑难杂症。可能会有人说怎么还在用SQL SERVER 2000,为什么不升级呢? 每个公司都会有一两个几乎快被人遗忘的系统,接手维护这些系统的人可能都不知换了多少批了。它们的命运注定慢慢消亡。然而偏偏却又生命力顽强,总还有一些人在使用着这些系统。所以就处在一种尴尬的... 阅读全文
ORACLE数据库对比表结构
2015-07-21 12:23 by 潇湘隐者, 8786 阅读, 0 推荐, 收藏,
摘要:有时候会有某种需求:需要对比两个表的表结构是否一致,有时候甚至是整个数据库所有表的表结构对比......。表结构对比无非就是字段名、字段类型、字段数据类型、以及字段的顺序的对比。如果需要对比表结构,可以通过下面简单的脚本实现: SELECT M.OWNER ,M.TABLE_NAME ,M.COLUMN_ID ,M.COLUMN_NAME ,M.DATA... 阅读全文
SSRS Reports 2008性能优化案例二
2015-07-17 16:12 by 潇湘隐者, 1590 阅读, 1 推荐, 收藏,
摘要:前几天一同事反映海外工厂A的SSRS报表比较慢,让我检查优化一下。于是我检查了下2015-07-13到2015-07-15 12:00这段时间报表的耗时记录 USE [ReportServer]; GO SELECT C.Name AS ReportName ,E.ReportID ... 阅读全文
Linux LVM学习总结——扩展卷组VG
2015-07-16 13:57 by 潇湘隐者, 13140 阅读, 2 推荐, 收藏,
摘要:Linux服务器由于应用变更或需求的缘故,有可能出现分区空间不足的情况,此时往往需要进行扩容(要增加分区的空间),而采用LVM的好处就是可以在不需停机的情况下可以方便地调整各个分区大小。如下所示,分区/u05由于备份集保留的时间调整,RMAN备份时出现空间不足的情况,如下所示, [root@getlnx01 ~]# df -hFilesystem Size Used Av... 阅读全文
MySQL备份还原——AutoMySQLBackup介绍
2015-07-15 17:25 by 潇湘隐者, 5763 阅读, 0 推荐, 收藏,
摘要:AutoMySQLBackup是一个开源的MySQL备份脚本。可以说它是一个轻量级的备份方案,AutoMySQLBackup的安装、配置非常简单、方便。AutoMySQLBackup的sourceforge上介绍有如它本身,也非常的简单: Description AutoMySQLBackup with a basic configuration will create Daily, Weekly... 阅读全文
mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES
2015-07-11 23:28 by 潇湘隐者, 9322 阅读, 0 推荐, 收藏,
摘要:AutoMySQLBackup备份时,出现mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES错误,具体内容如下所示 [root@DB-Server ~]# /usr/bin/aut... 阅读全文
MySQL备份还原——mysqldump工具介绍
2015-07-11 11:09 by 潇湘隐者, 3571 阅读, 0 推荐, 收藏,
摘要:mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件。有点类似于SQL SEVER的“任务-生成脚本”的逻辑备份功能。mysqldump是比较常用的备份方法,适合于在不同MySQL版本之间的迁移、升级。不足之处就是数据库比较大时,mysqldump的效率不高。 mysqldump的主要参数收集整理注释如下,如果你要查看mysqldump的具体参数信... 阅读全文
ORACLE查看数据文件包含哪些对象
2015-07-10 19:43 by 潇湘隐者, 5184 阅读, 0 推荐, 收藏,
摘要:在上篇ORACLE查看表空间对象中,我介绍了如何查询一个表空间有那些数据库对象,那么我们是否可以查看某个数据文件包含那些数据库对象呢?如下所示 SELECT E.SEGMENT_TYPE AS SEGMENT_TYPE , E.SEGMENT_NAME AS SEGMENT_NAME , F.FILE_NAME A... 阅读全文
MySQL修改root账号密码
2015-07-09 14:36 by 潇湘隐者, 4511 阅读, 0 推荐, 收藏,
摘要:MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法 1: 使用set password语句修改 mysql> select user();+----------------+| user() |+----------------+| root@localhost |+----------------+1 row in set (0.08 ... 阅读全文
Linux下开启关闭SeLinux
2015-07-08 22:01 by 潇湘隐者, 22896 阅读, 2 推荐, 收藏,
摘要:SELinux (Security-Enhanced Linux) in Fedora is an implementation of mandatory access control in the Linux kernel using the Linux Security Modules (LSM) framework. Standard Linux security is a discreti... 阅读全文
SQL SERVER 2012 执行计划走嵌套循环导致性能问题的案例
2015-07-04 11:48 by 潇湘隐者, 3137 阅读, 2 推荐, 收藏,
摘要:开发人员遇到一个及其诡异的的SQL性能问题,这段完整SQL语句如下所示: declare @UserId INTdeclare @PSANo VARCHAR(200)declare @ShipMode VARCHAR(10)declare @CY_FLAG VARCHAR(1)declare @P... 阅读全文
清理DBA_DATAPUMP_JOBS中的孤立数据泵作业
2015-07-02 23:26 by 潇湘隐者, 9149 阅读, 4 推荐, 收藏,
摘要:今天在重构数据库时(将表空间中的表、索引转移到其它表空间)时,发现有两个奇怪的对象SYS_EXPORT_FULL_01、SYS_EXPORT_FULL_02搜索了一下,发现这个可能是EXPDP导出异常时遗留下的对象,但是搜到的资料不多,不能确认其具体用途以及该表是否删除。后来同事在metalink搜索到How To Cleanup Orphaned DataPump Jobs In DBA_DAT... 阅读全文
ORACLE查看表空间对象
2015-07-02 14:03 by 潇湘隐者, 17187 阅读, 3 推荐, 收藏,
摘要:ORACLE如何查看表空间存储了那些数据库对象呢?可以使用下面脚本简单的查询表空间存储了那些对象: SELECT TABLESPACE_NAME AS TABLESPACE_NAME , SEGMENT_NAME AS SEGMENT_NAME , SUM(BYTES)/1024/1024 AS SEGMENT_SIZE FROM DBA_SEGM... 阅读全文
Linux LVM学习总结——创建卷组VG
2015-07-01 12:30 by 潇湘隐者, 42865 阅读, 3 推荐, 收藏,
摘要:在Linux平台如何创建一个卷组(VG)呢?下面简单介绍一下卷组(VG)的创建步骤。本文实验平台为Red Hat Enterprise Linux Server release 6.6 (Santiago) 1: 查看当前卷组信息 查看服务器的卷组(VG)、物理卷(PV)、逻辑卷(LV)相关信息,在此之前,我们先来看看一些基本命令以及用法 vgcan命令介绍 : 查... 阅读全文
SELECT CAST(GETDATE() AS VARCHAR(10)) 显示不同格式的原因
2015-06-29 20:14 by 潇湘隐者, 6928 阅读, 0 推荐, 收藏,
摘要:开发人员测试时,发现生产服务器与测试服务器执行SELECT CAST(GETDATE() AS VARCHAR(10))语句显示的格式不一样。如下所示 Server A Server B 其实出现这个问题,是因为登录名(login)的语言不一致所致,如下所示 可以使用下面SQL语句来检查对应的默认语言 SELECT @@LANGUAGE 或 SELECT loginname,name... 阅读全文
MySQL查看数据库相关信息
2015-06-28 23:53 by 潇湘隐者, 32334 阅读, 2 推荐, 收藏,
摘要:使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小、字符集、用户等等。下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || INVOICE ... 阅读全文
Linux时间同步介绍
2015-06-23 16:48 by 潇湘隐者, 15860 阅读, 1 推荐, 收藏,
摘要:在Linux系统中,为了避免主机时间因为在长时间运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。Linux系统下,一般使用ntp服务来同步不同机器的时间。NTP 是网络时间协议(Network Time Protocol)的简称,干嘛用的呢?就是通过网络协议使计算机之间的时间同步化。 系统时间与硬件时间 在展开Linux系统时间同步前,我们必须先了解一些概念:... 阅读全文
sp_addlinkedserver '(null)' is an invalid product name
2015-06-23 12:03 by 潇湘隐者, 2008 阅读, 0 推荐, 收藏,
摘要:使用SSMS 2008客户端工具逆向生成了创建链接服务器的脚本时,在测试环境执行是报如下错误:'(null)' is an invalid product name. USE [master]GOIF EXISTS (SELECT srv.NAME FROM sys.servers srv WHERE srv.server_id != 0 ... 阅读全文
Linux 如何通过命令仅获取IP地址
2015-06-16 15:56 by 潇湘隐者, 108557 阅读, 10 推荐, 收藏,
摘要:一同事的朋友正在参加笔试,遇到这么一个问题让他帮忙解决,结果同事又找到我帮他搞定。真是感慨:通讯发达在某些方面来说,真不知是不是好事啊!题目大致如下所示,一般我们使用ifconfig查看网卡信息,请问你可以通过什么命令,让其只输出IP地址192.168.42.128 看似简单的问题,实现起来也不是太简单。看看下面的思路吧 [root@DB-Server ~]# ifconfig eth0eth... 阅读全文
如何只授予用户查看存储过程定义的权限
2015-06-16 11:13 by 潇湘隐者, 21408 阅读, 2 推荐, 收藏,
摘要:有个网友问我,如何授予某个用户只能查看某些存储过程的定义权限,而不能让用户去修改、执行存储过程。看似简单的问题,却因为从没有碰到这样的需求。花了点时间才梳理、总结清楚。 关于ORACLE账号的权限问题,一般分为两种权限: 系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、创建存储过程等 对象权限: 允许用户操纵一些特定的对象,如读取视图,... 阅读全文
ORA-07445&ORA-00108错误案例
2015-06-11 17:34 by 潇湘隐者, 2600 阅读, 0 推荐, 收藏,
摘要:由于需要ORACLE的UAT测试环境,克隆了虚拟机后,修改IP地址后,启动实例遇到了ORA-07445 &ORA-00108错误. 案例环境: SQL> select * from v$version; BANNER----------------------------------------------------------------Oracle Database 10g Releas... 阅读全文
Linux LVM学习总结——删除卷组VG
2015-06-11 16:41 by 潇湘隐者, 83257 阅读, 11 推荐, 收藏,
摘要:在Linux系统中,如何删除一个卷组(VG)呢? 下面我总结了一下如何删除卷组(VG)的具体步骤,仅供参考,如有不足,敬请指出。谢谢!在下面的例子中,我想删除卷组VolGroup05。 步骤1: 查看卷组(VG)相关信息,如下所示 [root@getlnx01uat ~]# df -hFilesystem Size Used Avail Use% Mounted o... 阅读全文
mysqldump: Error: Binlogging on server not active
2015-06-10 11:57 by 潇湘隐者, 10285 阅读, 0 推荐, 收藏,
摘要:在学习使用mysqldump时,使用mysqldump备份时,遇到了下面两个错误: [root@DB-Server backup]# ./mysql_dump_back.sh Warning: Using a password on the command line interface can be insecure. mysqldump: Error: Binlogging on server... 阅读全文
Linux安装DBI/DBD-ORACLE
2015-06-08 16:38 by 潇湘隐者, 7437 阅读, 1 推荐, 收藏,
摘要:本文只是学习如何配置PERL DBI、PERL DBD时,整理的一个学习实践文档,大部分参考网上资料,详情请见下面参考资料。 PERL对数据库的支持广而且全,几乎所有的主流数据库都有与之相应的PERL模块支持。为了开发可在不同数据库上移植的PERL应用,DBI(DataBase Interface)模块应运而生,使用这个模块,应用只需使用统一的接口便能操作不同的数据库,真正实现了可移植;当然,这个... 阅读全文
SQL SERVER 中is null 和 is not null 将会导致索引失效吗?
2015-06-04 00:01 by 潇湘隐者, 44732 阅读, 26 推荐, 收藏,
摘要:其实本来这个问题没有什么好说的,今天优化的时候遇到一个SQL语句,因为比较有意思,所以我截取、简化了SQL语句,演示给大家看,如下所示 declare @bamboo_Code varchar(3); set @bamboo_Code='-01'; SELECT DISTINCT yarn_lotFROM dbo.rsjob WITH ( nolock )WHERE RIGHT(... 阅读全文