oracle
阿凡T
这个作者很懒,什么都没留下…
展开
-
oracle多表插入
insert allwhen age < 60 then into test1when age > 20 theninto test2select * from test;可以通过上面的语法来实现同时向多张表中插入数据原创 2017-07-20 12:46:47 · 280 阅读 · 0 评论 -
SQL优化
1.使用普通B树索引 2.小表(数据量小于5000条记录为标准,仅做参考)不需要创建索引 3.分区表尽量使用Local的分区索引 4.创建或重建索引时使用NOLOGGING子句,提高执行效率 5.如果是全局的分区索引必须包含分区列,分区列按序放置在分区索引的末尾 6.创建分区索引必须指定表空间,并且指定的表空间要与数据表空间分开 7.单个表上索引的个数不超过5个 8.将记录差别数最多的原创 2017-11-08 16:04:48 · 187 阅读 · 0 评论 -
oracle中的connect by函数的使用
1。项目中遇到了父子层级关系的问题,刚开始的处理办法是:先将数据从数据库中查处理,然后再在代码中遍历,这样做,代码写的比较臃肿,再加上还有其他的业务要处理,比较麻烦,后来就查找了一些资料,发现oracle中有个函数connect by可以解决这个问题,写起来,代码也比较简洁 这个就写个例子来说明一下这个问题: 1首先创建一张表create table text_cen ( id原创 2017-09-19 16:15:33 · 3419 阅读 · 0 评论 -
删除主键的时候,索引是否删除
问题:删除主键时是否会同时自动删除索引? 答案:是否删除索引取决于索引是创建主键时自动创建的,还是创建主键前手工创建的。 如果期望删除主键时,同时删除索引,安全的做法是增加drop index选项。另外,如果为了防止因存在外键引用而删除失败,可以增加cascade选项。 以下内容在PLSQLDeveloper中亲测,为了代码便于阅读放到eclipse中做了格式调整。 测试无drop inde转载 2017-09-18 16:37:10 · 2081 阅读 · 0 评论 -
awr报告比较全面的讲解
https://wenku.baidu.com/view/2e82d35771fe910ef02df8c5.html###,这篇文章写的较全面转载 2017-08-29 11:08:00 · 343 阅读 · 0 评论 -
oracle sql优化
1.oracle的优化器共有2种方式 a.RBO:优化器在分析sql语句时候,所遵循的是oracle内部预订的一些规则 b.CBO:是看语句的代价(cost),这里的代价主要指cpu和内存,优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息,oracle8及以后的版本,oracle推荐使用CBO2.oracle中sql优化的目的 1).去掉不必要的大型表的全表扫描原创 2017-07-27 13:22:59 · 204 阅读 · 0 评论 -
查询Oracle正在执行和执行过的SQL语句
–查询Oracle正在执行的sql语句及执行该语句的用户SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名 FROM vproces转载 2017-07-26 17:29:22 · 753 阅读 · 0 评论 -
oracle中常见的工具sql
1.查看一张表是不是分区表 select * from user_part_tables where table_name = '' 或者是 SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='表名'2.ORACLE中创建分区的方法有范围分区,散列分区,列表分区,复合分区, 范围分区的语法 partition by ran原创 2017-07-31 17:08:29 · 372 阅读 · 0 评论 -
oracle的FCB
问题情境:近来项目中遇到了一个问题,程序在批量执行的时候,一直在卡,没有锁资源被独占,也没有堆栈等的溢出,没有办法在生产环境下直接解决这个问题,只有试着跟一下代码,看看有没有效果,固然发现了问题的原因,一条查询的sql在一直执行,今天我就要说这条sql这是一条特别大的sql文件,程序在运行第一次的时候,可以很快的执行,但是程序在第二次进行运行的时候,就运行不出来了, 解决的办法:这个问题的原因是因原创 2017-07-18 17:44:50 · 404 阅读 · 0 评论 -
sql优化
1.数据库性能影响的因素 查询结果数据:分页 每条记录的宽度:不要用*,要什么字段就查什么 表扫描:建index原创 2017-07-29 19:03:44 · 175 阅读 · 0 评论 -
oracle 块结构
1.块基本语法 首先输出命令: set serveroutput on;为了可以让输出从窗口中输出来 基本语法:declare v_width integer; v_height integer := 2; v_area integer := 6;begin --set the width equal to the area divided by the h原创 2017-07-29 14:54:17 · 393 阅读 · 0 评论 -
merge语法
用法:有两张表test与test1,现在需要将test表中的数据迁移到test1中,但是在迁移的过程中,如果是test中已经有的name与要迁移的name一样的话,就像原来的age字段加一,否则就新增加merge into test1 t1using test ton(t1.name = t.name+1)when matched thenupdate set t1.age = t.age原创 2017-07-20 13:03:32 · 265 阅读 · 0 评论 -
ORACLE
1.ORDER BY order by 语句必须在其他所有字句执行完之后按照指定的顺序对最终结果进行排序,需要排序的数据量的大小是很重要的,较小的排序会完全在内存中来实现,而较大的排序不得不使用临时磁盘空间来完成2.oracle高速缓冲区 1.v$sql视图查看当前存放在库高速缓冲中的语句 2.绑定变量可以避免硬解析,提高sql执行的性能 3.锁存器可以保护库高速缓冲避免被两个原创 2017-10-31 17:05:19 · 188 阅读 · 0 评论