http://www.pythonclub.org/mysql/optimize-20-tips今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时...
分类:
数据库 时间:
2014-04-28 04:09:34
阅读次数:
1013
oracle对于子查询的支持做的很好,oracle optimizer会对inline
view进行query transfomation,即视图合并,不过也经常带来意想不到的问题。下面是一个inline view的merge的例子:1,
创建临时表1 create table test1 as ....
分类:
数据库 时间:
2014-04-28 04:07:33
阅读次数:
928
oracle的optimizer会对一些sql语句进行查询转换,比如:合并视图子查询非嵌套化inlist转换下面讲讲遇到的in
list转化优化的案例:create table test(col1 varchar2(12)col2 numberext
varchar2(4000));creat...
分类:
数据库 时间:
2014-04-28 04:03:42
阅读次数:
853
对于实际的业务系统,通常有一些热点的表,insert和delete的量非常大,这个时候就会发现一些查询语句的逻辑读比较偏高,这时可能就是oracle在构建一致性块的进行的consistent
read。下面做一个测试看下:第一步准备数据:create table test(col1 varchar2...
分类:
数据库 时间:
2014-04-28 03:57:41
阅读次数:
821
Buffer sort引发的血案
今天遇到的一个问题,在线系统上,有两张表,test1大概50G,test2大概200G,需要查询出来test1表中部分记录,并且这些记录不存在test2表中。于是就写了一个sql:select
t1.* from test1 t1, test2 t2 where.....
分类:
数据库 时间:
2014-04-28 03:49:50
阅读次数:
824
Oracle在9i或者早期的版本,对于性能优化方面,主要采用命中率模型,后面的版本,也保留着命中率模型,比如在awr报告中,Instance
Efficiency Percentages (Target 100%)就有关于buffer cache,library
cache等相关的命中率。命中率在性...
分类:
数据库 时间:
2014-04-28 03:20:03
阅读次数:
807
稳定执行计划 1 策略: Oracle的sql
执行计划在一些场景下会发生变化,导致系统会发生不可知的情况,影响系统的稳定性,特别是关键业务的sql。比如下面的场景:
统计信息过老,重新收集了统计信息。为表添加了新的分区,删除分区。而oracle提供的稳定执行计划的策略也大致有:存储纲要(sto.....
分类:
数据库 时间:
2014-04-28 02:58:22
阅读次数:
678
对于在线的繁忙业务表的任何操作都可能带来意想不到的风险。一张业务表,对partition
key进行升位,其步骤是:rename原表新建临时表交换分区到临时表升位临时表的字段的长度交换临时表到第二张临时表rename第二种临时表为业务表整个的操作过程如果顺利,预计在10s左右,如果放在文件中,速度会...
分类:
数据库 时间:
2014-04-27 22:32:31
阅读次数:
776
命中率模型是在owi之前比较常用的一种诊断性能问题的方法,通过命中率的计算,发现系统中的一些设置是否合理,当命中率不高的时候,通过调整一些参数和设置,提高命中率,有效的提高系统的性能和吞吐量。但当系统的命中率很高的时候,系统的性能问题和瓶颈就无法使用命中率模型来有效的定位,因为命中率说到底是一种平均...
分类:
数据库 时间:
2014-04-27 22:28:36
阅读次数:
858
SQL语言共分为四大类:数据查询语言DQL、数据操纵语言DML、数据定义语言DDL、数据控制语言DCL1.
数据查询语言DQL数据查询语言DQL基本结构是由SELECT、FROM、WHERE子句组成的查询块:SELECT FROM WHERE 2.
数据操纵语言数据操纵语言DML主要有三种形式:1)...
分类:
数据库 时间:
2014-04-27 22:16:41
阅读次数:
633
现有数据库a和数据库b,数据库a里有表table1,数据库b里有表table2.现在要把表table1里的记录复制到table2中,不同情况采用不同方法:1.table1和table2表结构相同usebinsertintotable2select*froma.dbo.table12.table1和t...
分类:
数据库 时间:
2014-04-27 22:08:52
阅读次数:
806
我的MYSQL学习心得(一)使用MYSQL有一段时间了,由于公司使用SQLSERVER和MYSQL,而且服务器数量和数据库数量都比较多管理起来比较吃力,在学习MYSQL期间我一直跟SQLSERVER进行对比第一期主要是学习MYSQL的基本语法,陆续还有第二、第三、第四期,大家敬请期待o(∩_∩)o语...
分类:
数据库 时间:
2014-04-27 21:40:40
阅读次数:
704
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right
join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接)
只返回两个表中联结字段相等的行举例如下:--------------------------------...
分类:
数据库 时间:
2014-04-27 21:38:38
阅读次数:
764
1 。 介绍1.1 要求1.2 网应用情节1.3 SQL 射入技术1.4 特点1.5
下载和更新sqlmap1.6 执照2 。 用法2.1 帮助2.2 目标URL2.3 目标URL 和verbosity2.4 URL 参量2.5 Google
dork2.6 HTTP 方法: 得到或张贴2.7 张贴...
分类:
数据库 时间:
2014-04-27 21:29:29
阅读次数:
928
ACID特性oracle如何使用undo和redo来保证了关系数据库的ACID特性。
ACID的特性简单描述为:Atomic:以事务为单位的原子性Consistency:保证数据一致性Isolation:不同事务之间的隔离性,未提交的事务对其它会话是不可见的Durablity:提交的事务在系统失败的...
分类:
数据库 时间:
2014-04-28 02:40:43
阅读次数:
694
1.创建数据库:create database database_name;2.选择数据库:use
database_name;3.创建表:create table tablename(column1 data_type1, column2
data_type2,...,columnn dataty...
分类:
数据库 时间:
2014-04-28 02:34:53
阅读次数:
560
数据更改oracle core完成了oracle的核心功能,recovery,读一致性等。
深入的了解oracle的机制,就从一个最简单的更新开始。对于oracle来说,最大的一个特性就是写了两次数据:写数据到数据文件中写数据的变更日志到日志文件中对于最常见的数据更新来说,oracle主要做了一下动...
分类:
数据库 时间:
2014-04-28 02:25:05
阅读次数:
704
lock and
latch在oracle中为了保护共享资源,使用了两种不同的锁机制lock和latch,这两种锁有明显不同点:1,lock和pin,采用的是队列的方式,先来先服务的策略,latch和mutex,采用的是抢占的方式,fast
fail模式2,lock可以hold的时间比较长,而lat...
分类:
数据库 时间:
2014-04-28 02:21:00
阅读次数:
889
事务和一致性oracle的redo和undo机制保证了数据库的ACID特性,以及高性能和可恢复特性。redo的数据是记录着数据块变更的顺序的正向数据流,commit时,保证redo同步持久化,保证高性能。恢复的时候,顺序的应用日志。redo的机制相对比较简单。undo记录着数据块的前映像。保证事务的...
分类:
数据库 时间:
2014-04-28 01:53:28
阅读次数:
722
undo信息oracle中undo的信息主要完成下面的功能:1,构建块一致性读2,回滚事务UBA:undo block
address1,块中的事务槽ITL中的UBA表示这个ITL所在的block历经的最后一次改变所对应的undo
record所在的UBA,主要用于一致读。2,undo segmen...
分类:
数据库 时间:
2014-04-28 01:49:29
阅读次数:
619