(非归档模式下)创建表T01: SQL> create table t01 as select * from dba_objects where 1=2; Table created. (非归档模式下)查看当前redo大小: SQL> select value 2 from v$mystat,v$statname 3 where v$mystat.statistic#=v$statname.statistic# 4 and v$statname.name='redo size' 5 / VAL…
背景:一个简单的带有主键的insert 语句,居然要 40ms ,开发受不了,要求降低 因此我们要关注的的 数据从插入落地的IO 中间都干了什么 一.MySQL的文件 首先简单介绍一下MySQL的数据文件,MySQL 数据库包含如下几种文件类型: 1)数据文件 (datafile) 存放表中的具体数据的文件. 2)数据字典 记录数据库中所有innodb表的信息. 3)重做日志 (redolog) 记录数据库变更记录的文件,用于系统异常crash(掉电)后的恢复操作,可以配置多个(配置这个参数in…
原文链接:http://www.cnblogs.com/New-world/archive/2012/11/28/2793560.htmlMS_SQL模糊查询like和charindex的对比 like查询效率低下,网上搜了一下替代like查询的方法,都是说用charindex方法,自己对比了一下查询速度 test1表中有一千两百多万条数据,我只给ID加了索引 先看一下 '%我%'这种模糊查询: declare @q datetime set @q = getdate() select ID,U…
DBCC DROPCLEANBUFFERS --清除缓冲区 DBCC FREEPROCCACHE --删除计划高速缓存中的元素 SET STATISTICS io ON SET STATISTICS time ON Go ---你要测试的sql语句 SELECT a.RecTime,a.PID,a.TagID,b.TagName,a.PV,c.CompanyName,d.Name AS DataType,b.Position,e.Name , f.PName,f.DeviceCode,a.Ala…
在上一篇文章中,我提到 MySQL 对自增主键锁做了优化,尽量在申请到自增 id 以后,就释放自增锁. 因此,insert 语句是一个很轻量的操作.不过,这个结论对于“普通的 insert 语句”才有效.也就是说,还有些 insert 语句是属于“特殊情况”的,在执行过程中需要给其他资源加锁,或者无法在申请到自增 id 以后就立马释放自增锁. 那么,今天这篇文章,我们就一起来聊聊这个话题. insert … select 语句 我们先从昨天的问题说起吧.表 t 和 t2 的表结构.初始化数据语句…
40 insert语句的锁 上一篇文章中对mysql自增主键锁做了优化,尽量在申请到自增id后,就释放自增锁. 因此,insert语句是一个很轻量的操作,不过,这个结论对于”普通的insert”才生效,其他特殊的insert语句,在执行过程中需要给其他资源加锁,或者在无法申请到自增id以后就立马释放自增锁. Insert...Select语句 CREATE TABLE `t` ( `id` ) NOT NULL AUTO_INCREMENT, `c` ) DEFAULT NULL, `d` )…
从oracle导出一个表的数据,导出的格式是insert语句,数据量30万. 直接在PL/SQL Developer中执行,速度非常慢,脚本中也是100条数据提交一次.因为需要的时间太长,每次中断后,下次执行,又要重新全部导入,需要把之前导入的数据清除. 为了能够断点续传,想了个办法: 用Python把脚本分拆,用commit作为分隔符(脚本中每100条数据有一个commit),分拆成多个脚本,用Python遍历文件夹下的脚本,分别执行每个脚本的语句,执行完成后,把脚本移动到BAK目录,这样即使…
问题描述:在PL/SQL客户端中执行insert语句,插入中文乱码 解决方案: 1.执行脚本 select userenv('language') from dual;    结果为AMERICAN_AMERICA.AL32UTF8 2.添加系统环境变量:   变量名:NLS_LANG   变量值:AMERICAN_AMERICA.AL32UTF8 3.重启PL/SQL即可…
oracle查看执行最慢与查询次数最多的sql语句 注:本文来源 于<oracle查看执行最慢与查询次数最多的sql语句> 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致.如果执行频繁的SQL,往往容易遭遇一些并发性的问题. 那么如何查看ORACLE数据库某个SQL的执行频率/次数呢? 下面来看看完整的示例代码. 一.查询执行最慢的sql select…
PHP执行mysql 插入语句, insert语句在Navicat for mysql(或任意的mysql管理工具) 中可以正确执行,但是用mysql_query()函数执行却报错. 错误 : “Data too long for column” 原因: 1.插入字段的长度超过了数据库设计时字段的规定长度:如果是这种情况,把数据库字段的长度修改一下就可以:2.编码问题mysql默认对中文支持不如Microsoft好,所以在有可能出现问题的地方我们都要手动的显式的进行编码设置. 具体操作: 修改m…