数据库技术
fdgaq
本人致力于J2EE方向的学习和研究,希望成为一个优秀的系统架构/设计师。愿与大家一起分享Java技术带来的美好。
展开
-
为什么要始终使用PreparedStatement代替Statement?
在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement.基于以下的原因:一.代码的可读性和可维护性.虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次:stmt.exe转载 2009-02-26 16:59:00 · 415 阅读 · 0 评论 -
JTDS-sql server jdbc driver
Microsoft 的JDBC驱动经常出现很多难以解决的问题,比如前面讨论过的SQL Server 2000 "Error establishing socket" 错误.当然使用Sql Server 2000的第三方驱动就没有这些问题存在。我从网上找到jTDS取代微软的SQLServer2000的JDBC驱动,希望对大家有帮助: 要使用jTDS驱动,配置要做一些变动: 数原创 2012-05-15 22:11:18 · 1406 阅读 · 0 评论 -
NoSQL的必读资料
NoSQL 是非关系型数据存储的广义定义。它打破了长久以来关系型数据库与 ACID 理论大一统的局面。NoSQL 数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。该术语在 2009 年初得到了广泛认同。当今的应用体系结构需要数据存储在横向伸缩性上能够满足需求。而 NoSQL 存储就是为了实现这个需求。Google 的 BigTable 与 A转载 2010-03-31 09:36:00 · 563 阅读 · 0 评论 -
Oracle 绑定变量经典解析
在oracle 中,对于一个提交的sql语句,存在两种可选的解析过程, 一种叫做硬解析,一种叫做软解析.一个硬解析需要经解析,制定执行路径,优化访问计划等许多的步骤.硬解释不仅仅耗费大量的cpu,更重要的是会占据重要的们闩(latch)资源,严重的影响系统的规模的扩大(即限制了系统的并发行), 而且引起的问题不能通过增加内存条和cpu的数量来解决。之所以这样是因为门闩是为了顺序访问以及修改一些原创 2010-03-24 10:21:00 · 603 阅读 · 0 评论 -
SQL:1999连接
SQL:1999连接SQL:1999连接在语法上和传统的ORACLE连接有着很大的不同。SQL:1999连接的类型在FROM语句中指明。ORACLE 9I支持的SQL:1999连接包括:l CROSS连接l NATURAL连接l OUTER连接l LEFT OUTER连接l RIGHT OUTER连原创 2010-03-15 16:10:00 · 882 阅读 · 0 评论 -
Oracle-数据库-事务处理基本原理
事务处理:所谓的事务处理就是保证操作的完整性,所有操作要么同时成功,要么同时失败。原理如下:在Oracle每个连接到数据库的窗口,连接之后建立一个session。一个session里面对数据所做的修改,不会立刻反应在数据库的真实数据之上,是允许回滚的,当一个session提交所有的操作后,数据才真正地做出修改。 两个事务操作:提交:commit回滚:rollbac原创 2010-03-16 19:51:00 · 1948 阅读 · 1 评论 -
Oracle-SQL-group by-报错:不是单组分组函数
报错:不是单组分组函数实例:select deptno,count(empno) from emp;报错:不是单组分组函数原因:1, 如果程序中使用了分组函数,则有两种情况可以使用:程序中存在group by,并指定了分组条件,这样可以将分组条件一起查询出来改为:select deptno,count(empno) from emp group by deptno;原创 2010-03-16 19:46:00 · 24516 阅读 · 1 评论 -
oracle-having条件过滤与where条件过滤
HAVING 与 WHERE 类似,可用来决定选择哪个记录。在使用 GROUP BY对这些记录分组后,HAVING 会决定应显示的记录,不同的是where对分组前的结果集条件过滤,而having对分组后的结果集过滤;having何以跟聚合函数,而where则不能。 现在举个例子:范例:要求显示平均工资大于2000的部门编号和平均工资Select deptno,avg(原创 2010-03-16 19:41:00 · 1636 阅读 · 0 评论 -
oracle忘记sys/system/scott用户的密码怎么办
一、忘记除SYS、SYSTEM用户之外的用户的登录密码。 用SYS (或SYSTEM)用户登录。 CONN SYS/PASS_WORD AS SYSDBA; 使用如下语句修改用户的密码。 ALTER USER user_name IDENTIFIED BY newpass; 注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA原创 2010-03-03 19:40:00 · 6098 阅读 · 3 评论 -
Oracle千万条记录插入与查询小结
最近做了个项目,实现对存在千万条记录的库表进行插入、查询操作。原以为对数据库的插入、查询是件很容易的事,可不知当数据达到百万甚至千万条级别的时候,这一切似乎变得相当困难。几经折腾,总算完成了任务。在此做些简单的小结,不足之处,还望javaeye的高手们帮忙补充补充! 1、 避免使用Hibernate框架 Hibernate用起来虽然方便,但对于海量数据的操作显得力不从心。 关于插入:转载 2009-04-06 12:02:00 · 1884 阅读 · 2 评论 -
prepareStatement(String sql,int autoGeneratedKeys)方法的使用
这个方法里的autoGeneratedKeys有两种取值:Statement.RETURN_GENERATED_KEYS /Statement.NO_GENERATED_KEYS第一个的意思是与数据库的主键值绑定,在使用的时候可以取出来,这一点后面的例子会介绍;第二个是没有与数据库生成的主键值绑定的。例子如下:Connection conn=DB.getConnection();/原创 2009-02-28 23:52:00 · 4942 阅读 · 1 评论 -
stmt.executeUpdate("update article set rootid="+rootid+"where id="+rootid); 有错吗
这句话在运行的时候会报javax.servlet.ServletException:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versio原创 2009-02-28 13:35:00 · 2560 阅读 · 8 评论 -
PowerDesigner进行SQL2005逆向工程时出现“unable to list the tables”的错误的解决方法
在PowerDesigner15 逆向工程SQL 2005时出现:unable to list the tables 信息 此时应该设置sqlserver2005数据库的行为设置为指定Sql server版本兼容: 执行: EXEC sp_dbcmptlevel '你的数据库名称', '90'; GO -------------------原创 2012-09-05 09:14:26 · 1462 阅读 · 0 评论