
数据库
文章平均质量分 79
溺水的鱼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JDBC+Hibernate将Blob数据写入Oracle
Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据。 写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢? 这需要你先插入一个empty的blob,这将创建一原创 2007-06-18 13:23:00 · 883 阅读 · 0 评论 -
利用配置文件实现SQL-Server与Oralce数据库访问类的转换
在企业级应用时,可能会用到两种或两种以上数据库,这就需要在编码时做两种数据库的转换,现在提供一种方法,也是微软示例PetShop提供的解决方式;即使用Assembly反射加载访问数据库的类 首先,创建一个空白解决方案,名字为:TestChangeDataBase,然后添加一个C#类库工程,名字叫DBHelper,然后在类库工程里创建一个接口IDAL,具体代码如下:namespace DBHe转载 2007-04-21 22:03:00 · 865 阅读 · 0 评论 -
SQL查询中的连接
以下是SQL中的常用连接查询的简单写法,采用SQL-Server示例数据库pubs和Northwind以下是详细代码:use pubs--内连接select titleauthor.au_id,au_lname,title_id from authors inner join titleauthor on titleauthor.au_id=authors.au_id--内连接 (另一种写转载 2007-04-21 22:04:00 · 748 阅读 · 0 评论 -
交叉表示例
假设有张学生成绩表(CJ)如下 [姓名] [学科] [成绩] 张三 语文 80 张三 数学 90 张三 物理 85 李四 语文 85 李四 数学 92 李四 物理 82 王五 数学 60 想变成 [姓名] [语文] [数学] [物理] 张三 80 90 85 李四 85 92 82 王五 null 60 null declare @sql varchar(4000) set @sql = sel原创 2007-04-22 09:01:00 · 907 阅读 · 0 评论 -
教你调整Oracle数据库服务器的性能
Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑: 1、调整操作系统以适合Oracle数据库服务器运行 Oracle数据库服务器很大程度上依赖于运行服务器的操作系统,如果操作系统不能提供最好性能,那么无论如何调整,Oracle数据库服务器也无法发挥其应有的性能。 1.1 为Oracle数据库原创 2007-04-22 20:24:00 · 731 阅读 · 0 评论 -
SQL查询语句精华使用简要
一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。SELECT nickname,emailFROM testtableWHERE name=张三(一) 选择列表选择列表(select_list)原创 2007-04-22 20:26:00 · 675 阅读 · 0 评论 -
基于JDBC的数据库连接池高效管理策略
在基于JDBC的数据库应用开发中,数据库连接的管理是一个难点,因为它是决定该应用性能的一个重要因素。本文在对数据库连接进行透彻分析的基础上,提出并实现了一个高效的连接管理策略,使得开发高性能的数据库应用变得相对容易。特别是,对于连接管理中的两个难点:事务和多线程问题进行了深入的剖析,并给出了一个基于设计模式的解决方案。介绍在使用Java语言进行和数据库有关的的应用开发中,一般都使用JDBC原创 2007-04-22 20:34:00 · 921 阅读 · 0 评论 -
JDBC和Hibernate来写入Blob型数据
Oracle的Blob字段比较特殊,他比long字段的性能要好很多,可以用来保存例如图片之类的二进制数据。 写入Blob字段和写入其它类型字段的方式非常不同,因为Blob自身有一个cursor,你必须使用cursor对blob进行操作,因而你在写入Blob之前,必须获得cursor才能进行写入,那么如何获得Blob的cursor呢? 这需要你先插入一个empty的blob,这将创建一个转载 2007-04-23 09:05:00 · 770 阅读 · 0 评论 -
TOP 1比不加TOP慢的疑惑
问题描述:有一个查询如下,去掉TOP 1的时候,很快就出来结果了,但加上TOP 1的时候,一般要2~3秒才出数据,何解?SELECT TOP 1 A.INVNO FROM A, BWHERE A.Item = B.ItemNumber AND B.OwnerCompanyCode IS NOT NULL 问题原因分析:在使用TOP 1的时转载 2007-04-23 09:15:00 · 773 阅读 · 0 评论 -
PL/SQL表---table()函数用法
PL/SQL表---table()函数用法 /*PL/SQL表---table()函数用法:利用table()函数,我们可以将PL/SQL返回的结果集代替table。simple example:1、table()结合数组:*/create or replace type t_test as object(id integer,rq date,mc varchar2(60));转载 2007-04-22 08:48:00 · 1039 阅读 · 0 评论 -
刪除table中的重複紀錄
ALTER TABLE admin ADD NewID int IDENTITY (1, 1) go DELETE FROM admin WHERE EXISTS(SELECT 1FROM admin aWHERE a.newid > admin.newid AND admin.uid = a.uid AND admin.uname = a.uname ANDadmin.upass a.upa转载 2007-04-22 09:03:00 · 805 阅读 · 0 评论 -
SQL note
structured query language综合的、通用的、功能极强的关系数据库语言包括数据定义(DDL)-create、数据操纵(DML)-insert、delete、update、select数据控制-grant是单进程多线程的关系性数据库sql特点:1、一体化的语言,2、统一的语法结构、多种使用方式,3、高度非过程化,4、语言简洁,5、c/s结构,6、支持异类复制2个API函数:DB_转载 2007-04-22 09:05:00 · 1132 阅读 · 0 评论 -
一个SQL语句查询问题(查询最小值
两个表A,BA有ID,NAME等字段B有ID,AID,PRICE等字段注:A.ID关联B.AID我想按A分类查询B产品的最低价?假如有数据:A表------------ID NAME1 DEMO2 DEMO2------------------------B表-------------ID AID PRICE1 1原创 2007-04-22 20:29:00 · 1745 阅读 · 0 评论 -
也谈MYSQL数据库的中文问题
中文显示问题一直是困扰我们的一个难题,不信你上google搜索一下,这类的问题和解答可以说是铺天盖地,好多网站甚至将其提出来作为专题来讨论,管中窥豹,可见一斑。开始也曾为这个问题头疼,上网查阅大量的资料和解决方法,终于找到了一种既简单又好用的办法,以JSP+MYSQL存储为例,简单介绍一下。配置:W2K+Resin+Mysql当页面使用GBK(或者GB2312)编码后,原创 2007-04-22 20:30:00 · 792 阅读 · 0 评论 -
展示JDBC存取ORACLE大型数据对象LOB几种情况的示范类
展示JDBC存取ORACLE大型数据对象LOB几种情况的示范类import java.io.*;import java.util.*;import java.sql.*;public class LobPros{ /** * ORACLE驱动程序 */ private static final String DRIVER = "oracle.jdbc.dri转载 2007-04-23 09:07:00 · 711 阅读 · 0 评论 -
存储过程、复杂SQL语句、ORM的陷阱
越来越多人开始使用Java,但是他们大多数人没有做好足够的思想准备(没有接受OO思想体系相关培训),以致不能很好驾驭Java项目,甚至 导致开发后的Java系统性能缓慢甚至经常当机。很多人觉得这是Java复杂导致,其实根本原因在于:我们原先掌握的关于软件知识(OO方面)不是太贫乏就是不恰当,存在认识上和方法上的误区。 软件的生命性 软件是有生命的,这可能是老调重弹了,但是因为它事关分转载 2007-04-23 09:26:00 · 826 阅读 · 0 评论 -
多角度彻底理解数据库事务中的"脏读"."不可重复的读"及"虚读"
脏读 dirty reads:当事务读取还未被提交的数据时,就会发生这种事件。举例来说:Transaction 1 修改了一行数据,然后 Transaction 2 在 Transaction 1 还未提交修改操作之前读取了被修改的行。如果 Transaction 1 回滚了修改操作,那么 Transaction 2 读取的数据就可以看作原创 2007-04-24 15:55:00 · 3531 阅读 · 0 评论 -
sql server数据库定时自动备份
前提:操作计算机上要安装有SQL Server客户端应用程序。第一步:双击屏幕右下角的 ,在服务(R)处选SQL Server Agent,然后点击开始/继续。 第二步:在〔开始〕->〔程序〕处,启动SQL Server -> 企业管理器。第三步:点企业管理器中->管理->sql server代理->作业 第四步:右击新建作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择原创 2007-04-26 12:18:00 · 992 阅读 · 0 评论 -
超级简单的数据库连接池(支持多数据源)
连接池最基本的目的: 1、重用连接,节省连接资源; 2、免去建立连接操作,提高效率3. 限制最大连接并发数自己弄的一个连接池,绝对高效安全,支持多数据源连接池的两种实现方式:1. 修饰模式弄个ConnectionWrapper类出来 2. 动态代理这里采用的是第一种方式ConnectionAdapter implements ConnetionConnectionWrapper extends转载 2007-04-27 11:06:00 · 1586 阅读 · 0 评论 -
数据库设计技巧14则
数据库设计中的14个技巧数据库设计中的14个技巧1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在原创 2007-04-27 12:01:00 · 792 阅读 · 0 评论 -
利用Oracle执行计划机制提高查询性能
消耗在准备利用Oracle执行计划机制提高查询性能新的SQL语句的时间是Oracle SQL语句执行时间的最重要的组成部分。但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能。 准备执行SQL语句 当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤: 1) 语法检查:检查SQL语句拼写原创 2007-04-28 23:41:00 · 777 阅读 · 0 评论 -
ORACLE性能调整--统计信息的迁移
很多时候本地测试环境无法100%的模拟出客户生产系统的所有性能问题,可能在本地环境中速度很快只需几分钟,但在客户那边却往往要跑上几个小时,这个时候除了想办法模拟出客户生产系统中一样多的数据外,还需要得到生产系统的统计信息,导入本地系统重现性能问题! 下面的语句就是具体的操作步骤! 生产系统:--执行统计信息操作BEGIN DBMS_STATS.GATHER_SCHEMA_STATS原创 2007-04-28 23:46:00 · 893 阅读 · 0 评论 -
日志分析logmnr使用方法_分享
一、安装LogMiner工具,以下两个脚本以SYSDBA身份运行 @$ORACLE_HOME/rdbms/admin/dbmslm.sql; @ $ORACLE_HOME/rdbms/admin/dbmslmd.sql; 第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。 第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。 二、使用LogMiner工具原创 2007-04-29 08:34:00 · 1060 阅读 · 0 评论 -
呕心历血重新做的Oracle10g DBA 两日速成课程PDF版
根据Oracle官方网站的[color=Red]Oracle10g DBA 两日速成课程[/color] http://www.oracle.com/technology/global/cn/obe/2day_dba/index.html 课程列表 1 安装 Oracle 和构建数据库 2 Oracle Enterprise Manager 数据库控制入门 3 配置网络环境 4 管理 Oracle转载 2007-04-29 08:38:00 · 1844 阅读 · 2 评论 -
(转)Oracle高手必读,不要错过噢!
1. 删除表的注意事项 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。 2.having 子句的用法 having 子句对 group by 子句所确定的行组进行转载 2007-04-29 08:40:00 · 814 阅读 · 0 评论 -
在不同字符集的数据库之间导入数据的方法
以US7ASCII的库中导出的数据导入到字符集为ZHS16GBK的库为例子: 假设US7ASCII的库是A机,字符集为ZHS16GBK的库为B机 1.确定你A机上的oracle用户的.profile文件中的NLS_LANG是US7ASCII,正常的导出所有数据。 2.然后传到B机上,bin模式,然后在B机上设定好oracle用户的设定环境变量NLS_LANG=AMERICA原创 2007-04-29 08:59:00 · 1052 阅读 · 0 评论 -
SQL查询语句大全
一、 简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段。 SELECT nickname,email FROM testtable WHERE name=张三 (一) 选择列表转载 2007-04-29 09:13:00 · 1410 阅读 · 0 评论 -
全面接触SQL语法二
例如下面这两个例子将会具有相同的效果,都会从职员表格中返回所有字段的数据。 例如: 若是我们要查询出职员表格中的所有记录,可以通过下面的语句来完成。 SELECT ALL* FROM 职员表格; DISTINCT 对某个表格所选择的字段数据,略过重复的情况,也就是说,针对某个字段查询出来的记录结果是唯一的。例如有许多存放在职员表格的职员 数据,也许会具有相同的姓名,所以若是我原创 2007-04-29 09:44:00 · 823 阅读 · 0 评论 -
几个常用的,对表的某一列进行操作的SQL命令
适用:ORACLE 修改列名 alter table xxx rename column aaa to bbb; 删除一列 alter table xxx drop column aaa; 增加一列 alter table xxx add aaa varchar2(22)原创 2007-04-29 10:56:00 · 1269 阅读 · 0 评论 -
java 数据库操作
java 数据库基本操作1、java数据库操作基本流程2、几个常用的重要技巧:可滚动、更新的记录集批量更新事务处理java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接1、取得数据库连接1)用DriverManager取数据库连接例子String className,url,uid,pwd; className = "oracle.jdbc.drive转载 2007-04-30 12:13:00 · 769 阅读 · 0 评论 -
经典常用精妙的SQL语句
说明:复制表(只复制结构,源表名:a 新表名:b) select * into b from a where 1说明:拷贝表(拷贝数据,源表名:a 目标表名:b)insert into b(a, b, c) select d,e,f from b;说明:显示文章、提交人和最后回复时间select a.title,a.username,b.adddate from table a,(select m原创 2007-04-27 12:04:00 · 1047 阅读 · 0 评论 -
JDBC直连SQL Server 2005
由于JDBC在连接SQL Server2005数据库时与SQL Server2000有些不同,配置要复杂一点。所以特意在此介绍连接方法! 具体步骤(SQL Server 2005必须为混合登录模式,例如:可以用“sa”登录): 1、进入“SQL Server 配置管理器(SQL Server Configuration Manager)”,在左边窗口选择“SQL Server 20原创 2007-04-27 12:05:00 · 1177 阅读 · 0 评论 -
SQL 行列转换查询
1. 行列转换--普通假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82想变成姓名 语文 数学 物理张三 80 90 85李四 85 92 82declare @sql varchar(4000)set @sql = select Nameselect @sql = @转载 2007-07-28 11:37:00 · 1615 阅读 · 0 评论 -
ORACLE故障排除--注意事项
1. 在系统良好运作时, 进行一次Statspack! 并将结果文件保存作为以后的判断标准.2. ORACLE中建立一张存放有执行计划的表脚本如下: --建立一张计划表create table plan_hashes( sql_text varchar2(1000), hash_value number,原创 2007-04-28 23:33:00 · 851 阅读 · 0 评论 -
Oracle性能优化的文档_同样也是PDF
这里面的内容非原创.都是作者在网上收集完整.对校对后发布的PDF版. 有需要的朋友可以下载去看看.ORACLE SQL性能优化.part1.rarORACLE SQL性能优化.part2.rar原创 2007-04-29 08:36:00 · 1029 阅读 · 0 评论 -
全面接触SQL语法三
HAVING 条件子句 指定一特定的分组记录,并满足HAVING 所指定的条件或状态,但条件是针对分组的条件设置。 SELECT fieldlist FROM table WHERE selectcriteria GROUP BY groupfieldlist HAVING groupcriteria fieldlist 显示被查询的字段名称。(可与ALL,DISTINCT,DISTINCTR原创 2007-04-29 09:45:00 · 759 阅读 · 0 评论 -
全面接触SQL语法五
表的删除 DELETE语句 我们可以利用DELETE语句,将表格中的记录删除。(注意:记录被删除后,无法再复原,所以条件设置要正确) DELETE[table.*] FROM tableexpression WHERE criteria table 欲删除记录的表格名称,也可以用*来取代。 tableexpression 一个或一个以上表格的名称。此一参数可以为单一的表格名称或是从INN原创 2007-04-29 09:50:00 · 797 阅读 · 0 评论 -
全面接触SQL语法六
INSERT INTO语句 新建一条数据到表格当中。 多条记录新建查询: INSERT INTO target [IN externaldatabase][(field1[,field2[,...]])] SELECT [source.]field1[,field2[,...] FROM tableexpression 单条记录新建查询: INSERT INTO target[(field原创 2007-04-29 09:53:00 · 749 阅读 · 0 评论 -
JAVA操作数据库方式与设计模式应用
1. 在业务层使用JDBC直接操作数据库-最简单,最直接的操作1)数据库url,username,password写死在代码中 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:orcl"; String原创 2007-04-28 18:55:00 · 944 阅读 · 0 评论 -
ORACLE分析函数--row_number()应用
当遇到一个部门有多个员工记录,需要去取出每个部门薪水最少的那笔时,就可以用到分析函数row_number()拉 select * from( select manager_id,employee_id,first_name,salary,row_number() over(partition by manager_id order by salary) a原创 2007-04-28 23:43:00 · 935 阅读 · 0 评论