![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 79
iteye_21015
这个作者很懒,什么都没留下…
展开
-
数据库查询优化方案(处理上百万级记录如何提高处理查询速度)
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id f...原创 2011-05-31 21:11:47 · 192 阅读 · 0 评论 -
ORA-12519: TNS:no appropriate service handler found 解决
java.sql.SQLException: Listener refused the connection with the following error:ORA-12519, TNS:no appropriate service handler foundThe Connection descriptor used by the client was:可能是数据库上当前的连接数...原创 2013-07-11 10:59:01 · 95 阅读 · 0 评论 -
关系型数据库(Oracle)性能优化(三)
关系型数据库性能优化总结 对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考 1、 把数据、日志、索引放到不同的I/O设备上,增加读取速度。数据量(尺寸)越大,提高I/O越重要。 如果只有两块硬盘,那么一...原创 2012-02-26 15:43:56 · 111 阅读 · 0 评论 -
关系型数据库(Oracle)性能优化(二)
调整数据库结构的设计 这一部分在开发信息系统之前完成,需要考虑是否使用Oracle数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。 调整数据库SQL语句 应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了Oracle数据库的性能。 Oracle公司推荐使用Oracle语句优化器(Oracle Optimizer)和行...原创 2012-02-26 15:24:44 · 112 阅读 · 0 评论 -
关系型数据库(Oracle)性能优化(一)
为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略。 优化策略一般包括服务器操作系统参数调整、数据库参数调整、网络性能调整、应用程序SQL语句分析及设计等几个方面。 分析评价Oracle数据库性能主要有数据库吞吐量、数据库用户响应时间两项指标。数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:数据库用户响应时...原创 2012-02-26 15:03:18 · 127 阅读 · 0 评论 -
悲观锁(Pessimistic Locking )和 乐观锁(Optimistic Locking )
一、锁(locking),为什么需要锁? 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“ 锁 ”,即给我们选定的目标数...原创 2012-02-18 23:28:05 · 279 阅读 · 0 评论 -
ORACLE的隔离级别
一、隔离级别(isolation level) 1、隔离级别定义了事务与事务之间的隔离程度。 2、隔离级别与并发性是互为矛盾的:隔离程度越高,数据库的并发性越差;隔离程度越低,数据库的并发性越好。 3、ANSI/ISO SQL92标准定义了一些数据库操作的隔离级别: a、未提交读(read uncommitted) b、提交...原创 2012-02-13 21:41:12 · 139 阅读 · 0 评论 -
Oracle 常用函数
一、函数的分类 SQL函数一般分为两种 单行函数 基于单行的处理,一行产生一个结果 多行函数 基于多行的处理,对多行进行汇总,多行产生结果 二、函数形式 function_name [(arg1, arg2,...)] 三、常用的单行函数: 1. 字符函数: lower(x) 转小写 upper(x...原创 2011-10-15 14:24:52 · 71 阅读 · 0 评论 -
Oracle 分组与分组函数
一、分组: 分组函数可以对行集进行操作,并且为每组给出一个结果。 使用group by column1,column2,..按columm1,column2进行分组,即column1,column2组合相同的值为一个组 二、常用分组函数: */ AVG([DISTINCT|ALL]n) -- 求平均值,忽略空值 COUNT({*|[DIS...原创 2011-10-15 14:02:58 · 67 阅读 · 0 评论 -
ORACLE CASE WHEN 及 SELECT CASE WHEN的用法
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE ...原创 2011-10-15 13:07:01 · 1145 阅读 · 0 评论 -
Oracle用Start with...Connect By子句递归查询
ORACLE 提供了一个有趣的功能 connect by 子句,它可以对具有家族树结构的分枝进行排序。它的用途有机构或公司的各层结构,财务的科目代码等。要使用查询遍历,需要在将数据在基表中按照层次结构进行存储。比如一个组织机构就是这样的典型例子。实现语句:SELECT columnFROM table_nameSTART WITH column=valueCONNECT BY PR...原创 2011-10-09 17:27:10 · 59 阅读 · 0 评论 -
Oracle行列互换 横表和纵表
转载http://xace.iteye.com/blog/434537行列互换 Java代码 /* 在实际使用sql工作中总会碰到将某一列的值放到标题中显示.就是总说的行列转换或者互换. 比如有如下数据: ID NAME KECHENG CHENGJI -- ---------- ------...原创 2011-08-19 14:28:39 · 106 阅读 · 0 评论 -
Oracle 横表、纵表一点记录
横表就是普通的建表方式,如一个表结构为: 主键、字段1、字段2、字段3。。。 如果变成纵表后,则表结构为: 主键、字段代码、字段值。 而字段代码则为字段1、字段2、字段3。 纵表对从数据库到内存的映射效率是有影响的,但细一点说也要一分为二: 纵表的初始映射要慢一些; 纵表的变更的映射可能要快一些,如果只是改变了单个字段时,毕竟横表字段比纵表要多很多。 横表的好处是清晰可见,一目了...原创 2011-08-19 14:07:12 · 110 阅读 · 0 评论 -
SQL 乱七八糟
1、 两个日期间的天数: select floor(sysdate - to_date('20110717','yyyymmdd')) from dual; 复制一个表中的部分数据插入同一个表: insert into channelinfotab select day_ + 1, channel,play,charge from ch...原创 2011-07-18 21:10:27 · 89 阅读 · 0 评论 -
Oracle 中 MERGE
一、概述 MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。 通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询, 连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。 这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。 在Orac...原创 2011-07-18 21:02:23 · 93 阅读 · 0 评论 -
关于Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题...
最近使用PL/SQL,但是每次第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION,V$SESSTAT,V$STATNAME没有被授权,没有权限访问这几张表。用SYS登录,授权给相应的用户,授权SQL如下: grant select on v_$statname to scott; grant select on v...原创 2011-07-10 23:23:21 · 172 阅读 · 0 评论 -
数据库模糊搜索时,关键字中处理特殊字符(%,_)
数据库模糊搜索时,都知道应该用通配符%号来模糊匹配。如:select *from table where content like '%key%'。但当关键字key中也包含有%号时,应该怎么办? 数据库中有关键字:escape就是用来转换的。使用escape关键字定义转义符时,当转义符置于通配符之前时,该通配符就解释为普通字符。用法:ESCAPE 'escape_character...原创 2013-02-26 14:02:43 · 746 阅读 · 0 评论