数据库
萧逸2005
10年工作,开发、管理、产品、运营均有所涉及。互联网医疗领域创业合伙人。
展开
-
Java 访问数据库 --java与DataBase相关知识总结(二)
package com.test;import java.sql.*;/** *//*** 此例说明的问题:创建Statement对象时控制结果集类型;* @author chb*/class Hello...{ public static void main(String args[]) ...{ try原创 2009-09-17 22:24:00 · 843 阅读 · 0 评论 -
让UNION与ORDER BY并存于SQL语句当中
<br />在SQL语句中,UNION关键字多用来将并列的多组查询结果(表)合并成一个结果(表),简单实例如下:SELECT [Id],[Name],[Comment] FROM [Product1]<br />UNION<br />SELECT [Id],[Name],[Comment] FROM [Product2]<br />上面的代码可以实现将从Product1和Product2两张表合并成一个表,如果您只是希望合并两张表中符合特定条件的记录抑或是合并两张表各自的前N条记录,那么您的代码可能会像下面原创 2010-10-21 15:43:00 · 521 阅读 · 0 评论 -
Select sql的效率
<br />查询语句(SELECT)的优化建议1、合理使用索引:where子句中变量顺序应与索引字键顺序相同。 如:create index test_idx on test(hm, rq, xx) 索引字键顺序:首先是号码hm,其次是日期rq,最后是标志xx,所以where子句变量顺序应是where hm<=“P1234”and rq=“06/06/1999”and xx=“DDD”,不应是where xx=“DDD” and rq=“06/06/1999” and hm <=原创 2010-10-25 11:05:00 · 779 阅读 · 0 评论 -
oracle中的SQLLDR工具使用
这个工具可以批量导入数据,具体使用方法如下:用法: SQLLDR keyword=value [,keyword=value,...] 有效的关键字: userid -- ORACLE 用户名/口令 <br /> control -- 控制文件名 <br /> log -- 日志文件名 <br /> bad -- 错误文件名 <br />转载 2011-05-05 09:35:00 · 1140 阅读 · 0 评论 -
Oracle Parallel Execution(并行执行)
<br />关于Oracle 的并行执行,Oracle 官方文档有详细的说明:<br /> Using Parallel Execution<br />http://download.oracle.com/docs/cd/E11882_01/server.112/e10837/parallel.htm#VLDBG010<br />This chapter covers tuning in a parallel execution environm转载 2011-05-05 09:21:00 · 718 阅读 · 0 评论 -
养成良好的书写Sql的习惯
我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段时间系统还能流畅的运行吗?我么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时的培训和平时个人工作经验转载 2011-10-17 11:22:42 · 498 阅读 · 0 评论 -
Oracle spool 用法小结
1.对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如: selecttaskindex||'|'||commonindex||'|'||tasktype||'|'||to_number(to_char(sysdate,'YYYY转载 2011-10-18 15:33:47 · 652 阅读 · 0 评论 -
Select For update语句浅析
Select …for update语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍。 借助for update子句,我们可以在应用程序的层面手工实现数据加锁保护操作。本篇我们就来介绍一下这个子句的用法和功能。 下面是采自Oracle官方文转载 2011-10-26 09:24:40 · 572 阅读 · 0 评论 -
select for update nowait 与 select for update 区别
nowait的含义很多人都会误解为“不用等待,立即执行”。但实际上该关键字的含义是“不用等待,立即返回”如果当前请求的资源被其他会话锁定时,会发生阻塞,nowait可以避免这一阻塞,因为If another user is in the process of modifying that row, we will get an ORA‐00054Resource Busy error.转载 2011-10-31 09:21:10 · 655 阅读 · 0 评论 -
Select For Update行级锁定
Oracle的Select For Update语句可以实现在读取数据后马上锁定相关资源,防止被其他session修改数据的目的。也就是我们常常谈到的“悲观锁定”(现实应用开发中,使用悲观锁定的情况少之又少,也许是因为乐观锁定的实现更加灵活和便捷的缘故)。这个小文儿做一个小小的实验,来看看Select For Update语句实现的行级锁定1.创建实验表table_sfu,并初始化转载 2011-11-10 09:59:32 · 549 阅读 · 0 评论 -
数据库
JDBC:Driver、DriverManager、Connection、Statement、ResultSet、PreparedStatement、DatabaseMetaData、ResultSetMetaData。访问数据库实例:查询数据、插入数据、删除数据、更新数据、带参数的SQL语句、获取元数据。 JDBC简介DriverDriverManagerConnecti原创 2010-04-27 10:43:00 · 525 阅读 · 0 评论 -
关于COMMIT和ROLLBACK语句的使用注意事项
1. COMMIT WORK 语句执行许多与任务的同步执行有关的功能。ROLLBACK WORK语句“取消”任务同步执行的所有请求。COMMIT WORK 语句进行下列处理:• 执行所有由PERFORM ON COMMIT 请求的FORM 例程。按优先级的升序执行这些例程,顺序由 PERFORM 语句的LEVEL 参数指定。• 如果请求,触发所有更新任务功能模块。• 如果请求,触发所有后台任务功能转载 2010-04-07 17:48:00 · 1900 阅读 · 0 评论 -
JDBC的commit和rollback
commit和rollback是数据库事务的两个概念。一个数据库事务有开始和结束边界(boundary), 位于boundary的对数据库的各种操作认为是对该事务的操作。一个事务的要占用数据库的一些资源,比如可能获得数据库的某个表的某条记录的lock,如果一个事务长期占用资源而不去释放,那么对其他的事务是不利的,可能会使得速度很慢。所以对数据库操作的正确做法是让事务短小,只做一些应该在事务里边做的转载 2010-04-07 17:41:00 · 1273 阅读 · 0 评论 -
Java 访问数据库 --java与DataBase相关知识总结(三)
三,数据库连接池功能数据库连接池的主要目的就是利用程序,实现数据库连接的重复利用,减少数据通信和内存资源已经用户验证能功能。基于Java的数据库程序(B/S 或者C/S)都可以采用数据库连接池,减少用户请求的时间与访问数据库的频率。 通过数据库连接池,可以设置以下内容。 (1)连接数据库的JDBC_DRIVER,如:sun.jdbc.odbc.JdbcOdbcDriver原创 2009-09-17 22:34:00 · 616 阅读 · 0 评论 -
Java 访问数据库 --java与DataBase相关知识总结(四) java数据库连接池嵌套内部类实现
3.1数据库连接池代码 例1: 数据库连接是最常用的提高性能的方法。/* * @Classname: DBConnectionManager.java * * @Version 1.0 * * @Date 2005/10/20 * * @Copyright (c)DAIGJ版权所有。 */import java.io.*;import java.s原创 2009-09-17 22:59:00 · 740 阅读 · 0 评论 -
Java 访问数据库 --java与DataBase相关知识总结(四) java数据库连接池实现
3.2 数据库连接池 例2:package shop;import java.sql.Connection;import java.sql.Driver;import java.sql.DriverManager;import java.sql.SQLException;/*java数据库连接池实现作用:在数据库存取中,数据库连接池是不可缺少的,它可原创 2009-09-17 23:29:00 · 530 阅读 · 0 评论 -
Java 访问数据库 --java与DataBase相关知识总结(四) 经典的java数据库连接池
3.3 数据库连接池 例3 import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ原创 2009-09-17 23:49:00 · 711 阅读 · 0 评论 -
Java 访问数据库 --java与DataBase相关知识总结(一)
数据库连接池 是编写应用服务时经常需要用到的模块,太过频繁地连接数据库对服务性能来说是一个瓶颈,使用缓冲池技术来可以解决。基于java开发的系统中,JDBC是开发人员和数据库使用的常用主要途径,他提供了完备的数据库操作方法接口。考虑到规范的是适用性,JDBC只提供了最直接的数据库操作规范,对数据库资源进行管理,如:对物理连接的管理以及缓冲,由第三方应用服务器来提供。鉴于此,很多应用系统原创 2009-09-17 13:32:00 · 1283 阅读 · 0 评论 -
java数据库设计中的14个技巧
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多转载 2010-01-28 10:43:00 · 440 阅读 · 0 评论 -
什么样的列不适合创建索引?哪些列上不应该创建索引?
一般来说,不应该创建索引的的这些列具有下列特点: 1,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。 2,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例转载 2010-04-07 15:57:00 · 7540 阅读 · 1 评论 -
创建索引有哪些缺点?有哪些负面的影响?
索引虽然优点非常多,但也不是越多越好,增加索引的同时也会带来一些负面的影响 第一,创建索引和维护索引要耗费时间,这种时间随着数据 量的增加而增加。 第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。 第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。转载 2010-04-07 15:58:00 · 2066 阅读 · 0 评论 -
hibernate和JDBC的本质区别
hibernate和JDBC的本质区别就是Hibernate叫做ORM(Object Relational Mapping),也就是对象关系映射。这和JDBC有什么区别呢?JDBC是直接通过SQL获取信息,你得到的是散乱的信息碎片,因为同一个表格里每一列的属性是不一样的,有VARCHAR,有BLOB,有DATE等等,所以你使用和传递起来很不方便,必须知道每个信息的属性和对应的列名你才能对它进行操作原创 2010-04-07 15:59:00 · 1845 阅读 · 0 评论 -
JNDI创建动态数据库连接池原理
利用JNDI创建数据库连接池可以使我们很轻松的连接数据库减少连接代码的数量,使连接更稳定,在这种连接情况下速度相对较快.1)连接池原理一主要通过启动JBOSS时调用配置文件mssql-ds.xml寻找配置文件中的IP地址和用户密码,通过JTDS来验证验证通过的的用户将有效的对应的用户名和IP等在JAVA的命名空间中存入信息,当你写JSP文件时你只需要通过数据源DATESOURCE寻找你你定义的转载 2011-12-24 22:05:56 · 1127 阅读 · 0 评论