SQL
jackyrongvip
这个作者很懒,什么都没留下…
展开
-
sql server 2005中对I/O观察的一个好的方法
在SQL SERVER 2005中,要看到数据库的I/O情况,有个很好的方法,今天才发现显示服务器上所有数据库的文件统计信息的 SQL Server 2005 代码如下:SELECT *FROM ::fn_virtualfilestats(-1,-1)GO 要查看特定的 databaseID,请传递数据库的 ID,如下所示:SELECT *FROM ::fn_virtu原创 2013-07-01 16:14:52 · 797 阅读 · 0 评论 -
(转)hugepage介绍
一、相关概念Hugepage/Big page:系统进程是通过虚拟地址访问内存,但是CPU必须把它转换程物理内存地址才能真正访问内存。为了提高这个转换效率,CPU会缓存最近的虚拟内存地址和物理内存地址的映射关系,并保存在一个由CPU维护的映射表中。为了尽量提高内存的访问速度,需要在映射表中保存尽量多的映射关系。而在Redhat Linux中,内存都是以页的形式划分的,默认情况下每页是4K,这原创 2013-07-01 16:22:44 · 1043 阅读 · 1 评论 -
(转)mysql的索引和锁的微妙关系
http://www.searchtb.com/2010/09/mysql%e8%a1%8c%e9%94%81%e6%b7%b1%e5%85%a5%e7%a0%94%e7%a9%b6.html做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设id=1的这本书库存为1,但是有2个人同时来借这本书,此处的逻辑为Select restnum fr原创 2013-07-01 16:24:06 · 1021 阅读 · 0 评论 -
mysql 5.0中的profile功能
在MYSQL的5.0.37版本以上,支持profile的功能;小结如下:show profile 的格式如下:SHOW PROFILE [type [, type] … ] [FOR QUERY n] [LIMIT row_count [OFFSET offset]]type: ALL | BLOCK IO | CONTEXT SWITCHES |原创 2013-07-01 16:24:51 · 715 阅读 · 0 评论 -
(转)oracle数据库中看新特性的视图
Oracle10g中增加了一张叫做DBA_FEATURE_USAGE_STATISTICS的视图,只要你使用过的一些特性都会记录下来,而且这些信息可能在一些trace文件比如RDA收集的结果中存在,没买license而使用了这些特性的要注意了。不过透过这个视图,也能了解到系统的很多情况,或许很多东西都是作为DBA的你都不曾注意到的吧,呵呵SQL> select name,detected_us原创 2013-07-01 16:25:41 · 643 阅读 · 0 评论 -
(转)实时获得最耗CPU资源的SQL语句
在Oracle性能诊断和日常监控中,最耗CPU的语句通常也是我们最需要关心的语句。所以在Oracle10g的awr中,将cpu time和elapsed time最高的语句加入到了报表,并且放到了SQL语句部分的前两位。那么在平时的监控中,也可以通过shell脚本实时捕获系统中CPU耗用最多的进程中正在执行的SQL,以更加有效和及时的诊断和发现问题。首先写一个根据spid来或者其SQL的脚本g原创 2013-07-01 16:25:43 · 1202 阅读 · 0 评论 -
mysql补遗2
1 对备份的注意点 mysql 5中,要备份的话,当然要先设置日志了,在my.ini中设置如下 [mysqld]# The TCP/IP Port the MySQL Server will listen onport=3306log-bin="E:/mysql5/log/bin.log"log-error="E:/mysql5/log/error.log"log="E:/原创 2013-07-01 16:15:58 · 553 阅读 · 0 评论 -
(转)阻止网页挂马的若干工具收藏
上个blog中提到国内网站被挂马的常见原因是SQL注入攻击。那么,除了在Web开发的时候注意以外,有什么有效的工具可以对抗SQL注入攻击?今天,微软和惠普的安全部门合作发布了三个工具,分别是:微软SQL注入攻击源码扫描器:Microsoft Source Code Analyzer for SQL Injection (MSCASI)。这个工具给网站开发人员使用。是一个静态扫描ASP代原创 2013-07-01 16:16:19 · 668 阅读 · 0 评论 -
Oracle SQL 优化 (转)
Oracle SQL的优化规则: 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替 用IN写出来的SQL的优点是比较容易写及清晰易懂,但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE 试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询原创 2013-07-01 16:17:33 · 568 阅读 · 0 评论 -
oracle中性能视图V$SYSSTAT小结
V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。下列按字母先后排序: 数据库使用状态的一些关键指标:l CPU used by this session:所有session的cpu占用量,不包括后台进程。这项统计的单位是百分之x秒.完全调用一次不超过10msl db block changes:那部分造原创 2013-07-01 16:17:38 · 818 阅读 · 0 评论 -
oralcle中的性能统计基本用法statpack
oracle中,做性能统计的话,用statpack是个不错的选择,但不是图形界面,比较麻烦些,用法比较多,一般大概掌握其基本用法,到时用到去查就可以了. 1 安装 首先以SYS身份建一个单独的表空间,要求比较大,最好1,2Gcreate tablespace perfstat datafile 'f:"oracle"oradata"jssweb"perfstat.dbf' size原创 2013-07-01 16:17:42 · 734 阅读 · 0 评论 -
(转)ORA-01502 state unusable錯誤成因和解決方法
接到開發人員和業務人員的通知,說一個登陸頁面不能用了,報錯:2005-01-31 13:59:02,721 [com.aspire.common.dao.OamUserDAO]- -214:select錯誤java.sql.SQLException: ORA-01502 state這個錯誤是由於索引失效造成的,重建索引後,問題就解決了。為了搞清楚索引為什麼會失效,以及如何解決,我們做原创 2013-07-01 16:21:06 · 586 阅读 · 0 评论 -
mysql中的SQL_CACHE
mysql中的sql_cache是个容易忽视的地方,要使用的话,必须先设置query_cache_size,以及设置query_cache_type ,其中query_cache_type 这个可以被设置为 (只能是数字) 选项 含义 0 (OFF, 不缓存或重新得到结果) 1 (ON, 缓存所有的结果,除了 SELECT SQL_NO_CACHE ... 查询) 2 (原创 2013-07-01 16:24:45 · 735 阅读 · 0 评论 -
(转)MySQL之Handler_read_*
在MySQL里,我们一般使用SHOW STATUS查询服务器状态,语法一般来说如下:SHOW [GLOBAL | SESSION] STATUS [LIKE 'pattern' | WHERE expr]执行命令后会看到很多内容,其中有一部分是Handler_read_*,它们显示了数据库处理SELECT查询语句的状态,对于调试SQL语句有很大意义,可惜实际很多人并不理解它们的实际意义,本原创 2013-07-01 16:25:59 · 607 阅读 · 0 评论 -
(转)mysqlslow log分析
slow log文件很小,使用more less等命令就足够了。如果slow log很大怎么办?这里介绍MySQL自带的工具mysqldumpslow来帮你解析慢日志(也可以跳过本文,直接阅读Manual)。1. 基本使用 $mysqldumpslow slow.log > slow.dat$more slow.dat 输出的数据:Count: 3 Time=62.67s (18原创 2013-07-01 16:26:35 · 801 阅读 · 0 评论 -
mysql中query cache的局限性
最近在帮人调优MYSQL时,感觉mysql的query cache其实并不是越大越好的,因为其实当数据表有如下变化时,CACHE实际时失效的:包括: INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP TABLE, or DROP DATABASE等所以如果表是频繁读的话,那对query cache调整下还可以,否则还是没怎么作用的.附原创 2013-07-01 16:26:47 · 787 阅读 · 0 评论 -
收藏一个HIBERNATE对SQL SERVER 2005分页支持的问题
收藏一个HIBERNATE对SQL SERVER 2005分页支持的问题,原来HB没为2005,2008提供了更优质的分页,见http://www.iteye.com/topic/721903原创 2013-07-01 16:22:42 · 691 阅读 · 0 评论 -
(转)mysql中的内存使用小结
mysql的内存管理其实是比较复杂的,小结下,分为两类:1 线程独享内存 2 全局共享内存 先说线程独享内存:线程栈信息使用内存(thread_stack):主要用来存放每一个线程自身的标识信息,如线程id,线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一个线程栈分配多大的内存。排序使用内存(sort_buffer_size):MySQL 用此内存区域原创 2013-07-01 16:22:11 · 601 阅读 · 0 评论 -
(转)mysql中的query cache
顾名思义,MySQL Query Cache 就是用来缓存和 Query 相关的数据的。具体来说,Query Cache 缓存了我们客户端提交给 MySQL 的 SELECT 语句以及该语句的结果集。大概来讲,就是将 SELECT 语句和语句的结果做了一个 HASH 映射关系然后保存在一定的内存区域中。在大部分的 MySQL 分发版本中,Query Cache 功能默认都是打开的,我们可以通过原创 2013-07-01 16:22:07 · 715 阅读 · 0 评论 -
mysql 优化心得
mysql的优花其实是个艰难的工作,要搞的东西太多了,之前在http://www.cnblogs.com/jackyrong/archive/2008/05/04/1182331.html中摘了一些原则,最近对一个100多万条数据的表做优花时,有如下心得:1) 取必须要用的数据 这里对于select 语句中只选有用的字段,这样的原则就肯定人人都知道的了。但关键的是,要从全局考虑问题,原创 2013-07-01 16:15:16 · 682 阅读 · 0 评论 -
asp.net 2.0,sql 2005中的mars
mars在asp.net 2.0,sql 2005里不是火星 ,而是多活动结果集(Multiple Active Result Sets,简称MARS)是ADO.NET 2.0的一个新特征-它允许在单个连接上执行多重的数据库查询或存储过程。这样的结果是,你能够在单个连接上得到和管理多个、仅向前引用的、只读的结果集。在MARS以前,针对每个结果集需要一个独立的连接。当然,你还必须管理这些连接并且要付原创 2013-07-01 16:15:29 · 597 阅读 · 0 评论 -
mysql 补遗1
最近小结归纳了些MYSQL中容易忽视和的操作,有的还是很不错的.1) perror代码查看工具 最近发现经常在MYSQL导入导出的时候,经常发现mysql中有error no:之类的错误提示信息,但要具体知道错在哪里的话,其实MYSQL有个自带的工具perror的,比如可以这样用 perror 30就可以看到代码30的是什么错误信息了.2)mysqlcheck工具原创 2013-07-01 16:15:56 · 661 阅读 · 0 评论 -
mysql 索引实战
之前有个项目,已经充分用MYSQL的调优调了,速度感觉还可以.但发现索引没用上.于是调整之. 首先,数据库中有date字段,是int类型的,入库时用php的time()入库的,现在的需求是要求1天之内的记录,我们来看具体的写法,先看原来的 $query = "select * from record where del=to_days(curdate())-1 order by原创 2013-07-01 16:16:01 · 653 阅读 · 0 评论 -
mysql补遗4
这次继续mysql的索引问题,这里还是有不少原则可以总结一下的,大致归纳了如下面的1 对于组合索引,如果查询条件中有最左边的一个,一般都会用到, 比如有索引(a,b),在SQL语句中如果有select * from table where a='.....',则这个索引一般用到,是最左匹配原则,但如果是按where b='....',则一般不会用到.2 对于like查询,比如'%ab原创 2013-07-01 16:16:07 · 543 阅读 · 0 评论 -
(转)Oracle开发专题之:时间运算
http://www.blogjava.net/pengpenglin/archive/2008/06/30/211589.html目录=========================================1.Oracle的日期函数2.日期加减3.月份加减4.年份加减5.求每月的最后一天6.求每月的第一天7.求下一个星期几入门知识:①Oracle中的日期时间存原创 2013-07-01 16:16:14 · 664 阅读 · 0 评论 -
恢复sql 2005误删除的数据
今天有朋友问到,如果不小心把sql server 2005里的数据表的一些记录不小心删除了,那怎么办.其实在sql server 2005里,可以这样.1 前提是这个数据库一定要有一个全备份,比如是昨天的一个全备份2 当发现误删除操作后,记得把当前的数据库进行日志备份3 把之前做的数据库全备份进行恢复,记得在sql server managment studio中,选择一个时间点来进行恢复原创 2013-07-01 16:16:26 · 704 阅读 · 0 评论 -
oracle学习小结之五
1 在sql时,先用 desc v$controlfile; 看下v$controfile中,每一列的具体长度,然后再决定在显示时,如何用col name for a50这样的格式;2 如果遇到一个.sql的文件需要恢复到oracle的话,最好先建立一个方案(schema),这里我的理解是oracle里的方案其实是相当于其他数据库中的"数据库",因为如果oracle里没特殊的要求原创 2013-07-01 16:16:53 · 427 阅读 · 0 评论 -
oracle 学习小结8
rman的一些常用小结。1 备份 rman target sys/sys@demo nocataglog rman>run {configure channel device type disk maxpiecesize 400M; configure device type disk parallelism 3;(3通道) backup databas原创 2013-07-01 16:17:52 · 549 阅读 · 0 评论 -
oracle学习小结10
1 打开统计日志信息 set autot on stat2 ORACLE的内存分配大致小结 SGA的查看: select * from v$sga; (注意oracle在unix下是多进程的,在windows下是单进程的) 查看系统实际分配的各类pool select * from v$sgastat; sga大小估计:原创 2013-07-01 16:17:59 · 695 阅读 · 0 评论 -
oracle 学习小结11
1 计算redo block size的大小 LGWR以block为单位把redo写入磁盘,redo block size是Oracle源代码中固定的,与操作系统相关。通常的操作系统都是以512 bytes为单位,如:Solaris, AIX, Windows NT/2000, Linux 等 这个Log size可以从Oracle的内部视图中获得:原创 2013-07-01 16:19:10 · 597 阅读 · 0 评论 -
php中安全补充
1 设置脚本可以访问的目录,一定限度上限制了PHP木马,比如 open_basedir=d:/usr/www 一般设置将php能打开的文件设置在指定的目录树中.2 设置禁用的函数 disable_functions,在php.ini的safe_mode=off下,可以用这个。在php.ini中,比如disable_functions = phpinfo,get_cfg_原创 2013-07-01 16:20:07 · 632 阅读 · 0 评论 -
hibernate 之inverse重点复习
inverse的原因,在于单向的一对多的低效而造成的.举个例子,比如user表和books表,一个用户假定可以有很多书,行成一对多的关系. 1) 如果是单向的一对多,比如 在user.hbm.xml中 有 而在book的新增的行为中 Book book=new Book(); //更原创 2013-07-01 16:20:27 · 587 阅读 · 0 评论 -
hibernate 缓存中的一些要注意的地方
1 hibernate 中的缓存问题 A 一级缓存和session的生命周期一样的,在比如 Student student=(Student)session.load(Student.class,1); 这样的语句中,如果两次发出这样的语句,是可以用到缓存的。 同样,用get也是可以用缓存的。 B 如果是用迭代查询,比如这样: Student st原创 2013-07-01 16:20:40 · 618 阅读 · 0 评论 -
oracle 10g中导出到ORACLE 9的问题小结
最近遇到个问题,ORACLE 10G的数据库导出后,其实在9I中导入是有问题的,于是尝试装了个9I,去连10G后,用9I的EXP命令导出,谁知道导出后还是错误,BLOB字段都丢失,遇到错误,为:EXP-00003: 未找到段于是最后找到了方法1、升级client端到9.2.0.5以上。 我使用9208/10.1.0.4的exp导出一个含有BLOB和CLOB的表,能导出所原创 2013-07-01 16:20:48 · 571 阅读 · 0 评论 -
vs.net 2010两个数据库方面的好工具
今天发现vs.net 2010在处理数据库方面的两个不错的工具,分别是数据异同比较器和数据架构比较器,使用起来都很简单,要学习的话,可以从下面两个连接去学习:数据架构比较器:http://www.dotnetfunda.com/articles/article1121-sql-server-schema-comparison-tool-in-visual-studio-2010-.aspx原创 2013-07-01 16:28:18 · 588 阅读 · 0 评论