背景: 当用Explain查看SQL的执行计划时,里面有列显示了key_len
的值,根据这个值可以判断索引的长度,在组合索引里面可以更清楚的了解到了哪部分字段使用到了索引。环境:CREATE TABLE `tmp_0612` ( `id`
int(11) NOT NULL, `name` ...
分类:
数据库 时间:
2014-06-13 18:51:16
阅读次数:
421
多数人知道SQL注入,也知道SQL参数化查询可以防止SQL注入,可为什么能防止注入却并不是很多人都知道的。 首先:我们要了解SQL收到一个指令后所做的事情:
在这里,简单的表示为:收到指令 -> 编译SQL生成执行计划 ->选择执行计划 ->执行执行计划。
具体可能有点不一样,但大致的步骤如上所示。...
分类:
数据库 时间:
2014-06-13 15:59:54
阅读次数:
206
count(*)是否能用到索引,用索引是高效还是低效select count(*) from
aa ;首先看是否会走索引,经过试验发现,他没有走索引它的执行计划 select statement sort aggregate table access
full别说是否高效了,他连索引都没有走,索引不...
分类:
其他好文 时间:
2014-06-11 12:00:01
阅读次数:
282
body, td {
font-family: tahoma;
font-size: 10pt;
}
淘宝数据库OceanBase SQL编译器部分 源码阅读--生成逻辑计划 SQL编译解析三部曲分为:构建语法树,生成逻辑计划,指定物理执行计划。第一步骤,在我...
分类:
数据库 时间:
2014-06-10 15:45:30
阅读次数:
211
如何知道一句SQL语句的执行效率呢,只知道下面3种:1、通过SQL语句执行时磁盘的活动量(IO)信息来分析:SET STATISTICS IO ON (开启)
/ SET STATISTICS IOOFF (关闭)2、通过SQL语句执行时语法分析、编译以及执行所消耗的时间:SET STATISTIC...
分类:
数据库 时间:
2014-06-10 14:19:39
阅读次数:
341
目标 1.SGA结构 2.PGA结构1.SGAShared pool
1)、共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。 在执行SELECT * FROM
emp语句时,会对sql语句进行语法分析->编译->生成执行计划->运行执行计划等,这些操作都在共...
分类:
数据库 时间:
2014-06-09 19:31:24
阅读次数:
328
淘宝数据库OceanBase SQL编译器部分 源码阅读--生成逻辑计划
SQL编译解析三部曲分为:构建语法树,生成逻辑计划,指定物理执行计划。第一步骤,在我的上一篇博客淘宝数据库OceanBase SQL编译器部分
源码阅读--解析SQL语法树里做了介绍,这篇博客主要研究第二步,生成逻辑计划。 ....
分类:
数据库 时间:
2014-06-08 18:45:52
阅读次数:
509
创建测试表 以用户jyu连接,创建测试表SQL> conn
jyu/jyu;Connected.SQL> create table t (id number, name varchar2(100));Table
created.SQL> insert into t select rownum,obj...
分类:
数据库 时间:
2014-06-06 21:01:49
阅读次数:
387
浅析有效的游标管理
【思路分析】
可以把游标理解成共享的执行计划,当sql不被共享时,常规的解决思路有两个方向:
1、调整共享池的尺寸(共享池的库缓存区中共享执行计划);
2、sql书写时尽量重用绑定变量,以起到共享sql的作用。
【较差的游标管理体现】
1、不重用执行计划(缺少绑定变量)
2、重用的执行计划保留不下来(共享池尺寸过小)...
分类:
数据库 时间:
2014-06-05 00:25:05
阅读次数:
265
set linesize 1000 ; ---这句话是调整显示格式set timing
on;--显示执行sql的操作时间set autotrace on; 显示语句的执行结果set autotrace traceonly;
不显示语句的执行结果设置autotrace 的命令1 set autotr...
分类:
其他好文 时间:
2014-06-03 07:32:52
阅读次数:
214