- 博客(61)
- 收藏
- 关注
sql性能分析
规则:select 字句要避免使用*。 使用exists代替in子句;使用not exists代替not in 子句。 使用trucate 代替delete from 表语句。 减少访问数据库 次数。 要使用表的别名。 要尽快使用commit 要学会设计冗余字段 Orac...
2009-05-14 07:25:39
136
Hibernate的对象--关系映射(1)
Hibernate 对象--关系映射 一、hibernate 的原理1、在hibernate操作业务实体对象持久化到数据库的时候,有三种状态、瞬时状态。持久化状态、游离状态hibernate对JDBC进行了封装,在hibern...
2009-05-14 00:02:53
128
Oracle最快删除重复记录
Oracle删除重复记录的最快方法:++++++++++++++++++++++++++++++++++++++++++DELETE FROM EMP EWHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO 这是为什么呢? 1、子查询找出某员工最低的ROWID(肯定只有一个...
2009-05-12 07:45:00
240
实际项目中是如何进行数据库建模的
其实在实际项目中建模的精华不外乎就是以下几点,但是真正的把它精通的人很少!1、需求分析,找出所涉及的各种信息 2、进行概念数据模型设计 2.1、找实体 2.2、找实体的属性 2.3、找实体之间的关系 (与客户讨论,修改CDM) 3、根据CDM产生PDM,对PDM进行修改。 4、后面需求还有变化,但只在有必要的情况下再修改数据库。 ...
2009-05-12 07:26:52
388
悲观锁和乐观锁
加锁对并发访问的影响体现在锁的粒度上: 1、悲观锁假定其他用户企图访问或者改变你 正在访问、更改的对象的概率是很高的,因此在悲观锁的环境中,在你开始改变此对象之前就将该对象锁住,并且直到你提交了所作的更改之后才释放锁。 比喻:悲观的爱情:认为爱情分手率是很高的。所以认识了GIRL以后就紧抓不放(锁定),直到结婚以后才允许GIRL与其它BOY讲话。所以GIRL被“锁定”的时间非常长,其它BO...
2009-05-10 23:56:23
99
怎样杀死死锁!
1、 查出是哪个过程被锁!2、查出是哪一个sid,通过sid可以找到session3、查出sid和serial#4、分别杀Oracle和操作系统的进程1.查哪个过程被锁 查V$DB_OBJECT_CACHE视图: SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='过程的所属用户' AND CLOCKS!='0'; 2. 查是哪...
2009-05-10 21:49:51
318
Oracle 的树形递归查询
一、树型表结构: 节点ID 上级ID 节点名称 二、公式: select 节点ID,节点名称,level from 表 connect by prior 节点ID=上级节点ID start with 上级节点ID=节点值 说明: 1、常见的树形结构为公司组织机构、地区…… 2、求节点ID以上的结构,或以上的结构,将“节点ID=上级节点ID”左右顺序换一下...
2009-05-10 18:01:14
192
外键的认识和理解
外键的认识和理解:++++++++++++++++++++++++++++++++++++++++++++++++++++++员工表(工号,姓名)工资表(工号,月份,工资)说明:员工表,又称为“主表”;工资表,又称为“子表”,这表示一个员工有多条工资记录。建立外键以后默认的删除方式:No action1、可以随便删除工资数据吗?回答:可以。如一个人的工资数据录入错误,允许删...
2009-05-05 19:18:53
111
导入导出1000万条数据
如何导入导出大数据量(1000万条)的表(如t_employee)+++++++++++++++++++++++步骤:1、从数据库1中导出数据2、使用delete删除数据2中相同表的所有数据。3、导入。思考:以上步骤对吗?分析:错误有2。1、不应该使用delete删除大量数据。2、在数据导入时,数据库系统将会同时维护索引。所以效率会很低。正确的做法是:1、从数据库1中导出2、删除数据库2中对应表中...
2009-05-05 19:07:04
1852
Oracle sql性能优化总结
选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理。 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。当ORACLE处理多个表时, 会运用排序及合并的方式连接它们。首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行派...
2009-05-04 23:11:34
102
rownum总结
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以下符号(=,=,between..and 时会提示SQL语法错误,而是经常是查不出一条记录来,还会出现似乎是莫名其妙的结果来,其实您只要理解好了这个 rownum 伪列的意义就不应该感到惊奇,同样是伪列,rownum 与 rowid 可有些不一样,下面以例子说明假设某个表 t1(c1...
2009-05-04 16:58:56
106
什么是数据仓库
我们都知道,利用多种不同的企业数据库提取数据进行业务决策是一件复杂的工作。而数据仓库的主要优点就是可以将这些不同的数据整合在一个中央存储环境中,并提供给用户必须的OLAP(Online Analytical Processing,联机分析处理)工具来检索与业务有关的数据。 当你听到数据仓库(data warehousing)这个词的时候会想到什么呢?也许是一个满是货架的房间,而货架上按一定次...
2009-05-04 00:55:15
117
ER建模----总结
其实、在工作中,数据库在后台这边全部设计好之后,前台就简单的多了!而且,用有些用工具可以帮助完成前台的实现,但是只有数据库设计这一块是无法用工具帮助完成的!可见数据库在设计中是多么的重要! 一、数据库分析的前提条件 1.掌握关系型数据库理论: 关系DB = 实体 + 关系 = PK + FK 关系 = 一对一(11) + 一对多(1...
2009-04-27 08:49:15
233
Oracle decode函数处理复杂报表
员工10月考勤总汇表 行号 工号 姓名 迟到 旷工 合 请假 事假 1 100 张三 1 2 7 7 4 2 100 李四 0 0 3 100 王五 3 2 0 0 4 101 杨六 5 1 6 2 2 表格设计一: 方案一 完全按照汇总表来设计: ...
2009-04-18 23:19:53
329
Oracle row_number() over()解析函数高效实现分页
在刚出来工作时! 大多数人只知道用rownum 来进行分页,或是sql嵌套来分页 后来觉得效率挺低的。而且rownum是先分配行号,再进行排序! 一句话麻烦! 后来我再对数据库特殊sql的研究之后,觉得我以前的3层嵌套实现分页的效率也是很低的, 直到用了 row_number() over(partition by xx order by xxx desc/asc) 函数之后,才觉得这种方法是...
2009-04-17 09:34:21
285
JDBC连接数据库大全
标题 常用数据库JDBC连接写法 zlyperson(原作)关键字 JDBC Sybase MySQL SQLServer PostgreSQL Oracle ODBC1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar/Class.forName( "org.gjt.mm.mysql.Drive...
2009-04-16 01:00:18
111
Oracle 实现分页
使用三层嵌套正确实现Oracle分页:+++++++++++++++++++++++++++++++++++++++原始记录: select t.*, t.rowid from t_stu t order by t.s_birthday desc 返回: STU_ID S_NAME C_ID S_BIRTHDAY S0002 李四 C01 1989-3-21 S00...
2009-04-15 10:29:03
429
java与Oracle相关性能优化总结1
一 、 java相关 性能优化1.java 中的硬代码如何解决:写配置文件2 java应用程序访问数据库的过程(简单描述) A、 加载驱动 B、 建立连接 C、 访问数据库,执行sql D. 关闭连接3.java中 深入理解JDBC 的预编译对象使用预编译对象的优点:A、减少编译次数,提高系统效率: ...
2009-04-14 23:30:43
531
oracle decode 函数技巧
在工作中经常遇到要用decoder函数我这里举两个典型的例子将表:______________________________________|a_name | a_subject | a_score ||张三 | 语文 | 80 ||张三 | 数学 | 70 ||张三 ...
2009-04-14 07:47:51
176
oracle存储过程总结2
1 存储子程序 存储子程序是指被命名的PL/SQL块,以编译的形式存储在数据库服务器中,可以在应用程序中进行调用,是PL/SQL程序模块化的一种体现。PL/SQL中的存储子程序包括存储过程和(存储)函数两种。通常,存储过程用于执行特定的操作,不需要返回值;而函数则用于返回特定的数据。在调用时,存储过程可以作为一个独立的表达式被调用,而函数只能作为表达式的一个组成部分被调用。 存储子程序是以...
2009-04-13 09:02:47
168
oracle存储过程总结1
=====================================================================oracle存储过程 登陆系统create or replace procedure insert_user_information ( p_user_login_name in varchar2,[color=red][/colo...
2009-04-12 17:45:59
140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅