- 浏览: 434352 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
AJCF:
System.out.println(System. ...
<转>Java相对路径/绝对路径总结 -
piaobeizu:
[b][/b]
<转>Java相对路径/绝对路径总结 -
laorer:
balan326 写道你好,最近在网上看了你写的数据库连接池, ...
数据库连接池java实现小结 -
balan326:
你好,最近在网上看了你写的数据库连接池,iteye网你的博客, ...
数据库连接池java实现小结 -
kyoisme2000:
区别在哪里也不说,怎么就解决了
spring绑定java.util.Date时的一个问题
2005-01-21
|
缩略显示 |
关系数据库性能问题 一、任务描述 工作中的一个数据批量任务,涉及到4张基本表和4张业务数据表。 以前的版本使用OO(O/R ?)方式, 这种方案,第一次取出的数据集很大,循环步数很多,而且每一步里面都要涉及到多次数据库查询,速度很慢,处理一个月的上万条数据,都需要几个小时。类似于 代码
后续版本,我决定采用 Join Table的方式来处理,试图用一个复杂的Big Join Query / View 一次把所有的相关数据记录全都取出来。整个处理过程中,只需要一次数据库查询。
代码
一部分 Business Logic (条件比较等)移动到SQL里面,代码的可读性变差,运行速度提高。 二 SQL Optimization 其中的第15条明确说明,SQL中的 = 操作符 支持 Tuple元组操作,这个 = 可以用来给一个元组Tuple赋值,也可以比较两个元组Tuple。 代码
其中的第8条,我恰好用得上。 代码
正好用来更新 parent 纪录中关于 child的统计字段。以前我这么写, 代码
现在我这么写, 代码
三 临时表 代码
如果直接用上面这段SQL来过滤temp数据,比较麻烦。我干脆又在temp里面多加了一个额外字段match_level, 专门用来存放匹配级别。 代码
这里把多个column排序结果综合到一个字段里面,便于后面的比较。 代码
处理一个月的数据,上万条记录的情况下,上面这两条insert和 delete执行时间加起来在10 -- 20秒左右。后面的一个Big Query就可以用这个temp table直接把恰好要使用的数据取出来,10秒左右就可以返回结果集(几万条)。处理这个结果集的时间,几分钟左右。 既然为了速度,用了这么多vendor native SQL feature, Big Join, temp table, 已经没有移植性可言,为什么不干脆用PL/SQL? 四 对象数据库 关系数据库号称 更快,支持更复杂的数据类型和关系,数据间的关联查询更快。 不算那些Java, C++等Object的存储工具,只算那些称得上DB的,开源的Object Database有db4object, OZONE, GigaBase(Object Relational Database)等。 两者都号称大数据量、高并发、高性能。通过看过的文档和资料,我更看好Cache’一些。似乎Cache’ 更快,更便宜,支持关系模型更好。Cache’号称 后关系数据库 Post Relational Database。当然,Objectivity是purer Object Database,面向对象特性也许更多一些。 关于对象数据库性能,有两种相反的说法。 1. 对象数据库 比 关系数据库 快 引用
原文 http://www.cnblogs.com/xgchang/archive/2004/12/05/26474.html ⑷性能的比较 ODBMS和RDBMS产品数据存取性能的差别已按通用测试标准验证过了。SUN公司的Riok Cattell等人著的“对象数据库评估”(1991年对象世界会议文集)已对四个ODBMS产品:Objectivity,Objectstore,Ontos,Versant以及两个RDBMS产品:Sybase和Ingress进行了测试。一般说来,对于“冷”数据存取(对磁盘数据库存取)ODBMS比RDBMS平均快5倍;对于“热”数据存取(在内存中的数据库存取)要快30倍,对于“热导航”(在内存中对某一给定的对象访问与之相联系的所有对象)ODBMS任何一个产品都比RDBMS的每一个产品性能要高出三个数量级。
Objectivity/DB自己的Bench Mark文章这样写,在小数据量下,RDBMS(Oracle)更快,数据量越大,Objectivity就会比RDBMS快的越多。 2. 对象数据库 比 关系数据库 慢 引用
原文 http://www.fic.se/MScThesis.Frost.Beta.pdf Multi-dimensional and relational data warehouses have problems.
原文 从这张图可以看出,Objectivity比关系数据库慢,Cache’比关系数据库快。 |
DBPerformance.JPG | |
描述: | |
文件大小: | 59 KB |
看过的: | 文件被下载或查看 421 次 |
下载 |
发表评论
-
[转]Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
2007-09-19 09:14 16032Oracle创建自增字段方法-ORACLE SEQUENCE的 ... -
[转]使用Ant管理配置Weblogic
2007-09-17 12:59 5247... -
[转]使用ant进行自动daily build
2007-09-17 12:45 3126环境说明:我用的是weblogic81sp5+apache ... -
[转]在BEA WebLogic Server上开发应用程序的20条技巧
2007-09-17 11:59 2443在BEA WebLogic Server上开 ... -
<转>使用 JSP 2.0 开发类似 JSTL 的标记
2007-09-14 16:38 3032使用 JSP 2.0 开发类似 JST ... -
<转>Ant实战篇
2007-09-13 16:40 2461将两篇放到一起了. ... -
<转>集合接口
2007-08-30 10:03 1376集合接口 http://blog.csdn.net/zhunj ... -
<转>Java相对路径/绝对路径总结
2007-08-29 22:01 6713... -
<转>深入浅出taglib
2007-08-29 11:01 1301... -
《转》EJB基本模型
2007-08-24 13:53 1154EJB从意义上来说,是一种「技术规范」,而不是一种产品。 & ... -
<转>BIRT:基于 Eclipse 的报表
2007-08-23 09:12 3666... -
<转>如何在windows 2000下通过Cygwin建立CVS服务
2007-08-22 12:11 1646<script language="javas ... -
<转>Spring学习笔记
2007-08-20 12:21 1555<转>Spring学习笔记 http://ww ... -
<转>Generic Data Access Objects
2007-08-20 12:11 2000Generic Data Access Objects htt ... -
<转>修改Ant 的 classpath
2007-08-18 17:12 6440<script>function StorePa ... -
<转>利用 Ant 和 Eclipse 有效地提高部署工作效率
2007-08-18 17:05 1378利用 Ant 和 Eclipse 有效 ... -
<转>如何从开发人员走向架构师
2007-08-16 15:13 1156如何从开发人员走向架 ... -
<转>Ant开发、测试、部署实例
2007-08-10 07:46 1547... -
<转>在Eclipse中集成Ant编程之配置祥解篇
2007-08-08 18:24 1752... -
<转> Log4j的使用和怎么在spring中集成log4j
2007-08-08 11:12 2386Log4j的使用和怎么在spring中集成log4j ...
相关推荐
本篇将深入探讨如何利用`C#`中的`List<T>`集合类以及DevExpress的`GridControl`控件实现主从表的嵌套显示,这在数据库操作和数据可视化中非常常见。 `List<T>`是.NET Framework中`System.Collections.Generic`命名...
附录<br>附录A SQL入门<br>什么是SQL<br>什么是数据库<br>关系数据库基础<br>关系数据库的优点和缺点<br>SQL:数据定义<br>基本数据操作<br>数据完整性<br>表达式<br>连接<br>合并<br>子查询<br>小结<br>附录B 序列...
<br><br><br><br>下面三张表格罗列的测试数据,可以明显看出AppFramework数据库访问组件的性能全面超越了IBatisNet: <br><br><br><br>表I –10并发20循环(数据库和测试机分开)<br><br>对比项目<br>iBatis2.0<br>...
720<br> 1.59<br><br>1.53<br> <br><br> <br><br>表II –50并发4循环(数据库和测试机分开)<br><br>对比项目<br> iBatis2.0<br><br>(毫秒)<br> AppFramework<br><br>(毫秒)<br> 后者前者性能对比<br><br>(倍)...
<br><br><br><br>下面三张表格罗列的测试数据,可以明显看出AppFramework数据库访问组件的性能全面超越了IBatisNet: <br><br><br><br>表I –10并发20循环(数据库和测试机分开)<br><br>对比项目<br>iBatis2.0<br>...
控制查询优化器的性能<br>7.5.4. 编译和链接怎样影响MySQL的速度<br>7.5.5. MySQL如何使用内存<br>7.5.6. MySQL如何使用DNS<br>7.6. 磁盘事宜<br>7.6.1. 使用符号链接<br>8. 客户端和实用工具程序<br>8.1. 客户端...
TCP/IP和Internet 8<br>2.1 一段历史 8<br>2.1.1 ARPANET 8<br>2.1.2 TCP/IP 9<br>2.1.3 国家科学基金会(NSF) 9<br>2.1.4 当今的Internet 12<br>2.2 RFC和标准化过程 12<br>2.2.1 获得RFC 13<br>2.2.2 RFC索引 13<br...
2. **MySQL**:一款流行的关系型数据库管理系统。 3. **连接池**:通过预创建一定数量的数据库连接,并存储在一个池中供应用程序复用,从而避免频繁创建和销毁数据库连接所带来的性能开销。 #### 三、配置方法 根据...
达梦数据库管理系统(DM7)是中国自主研发的一款高性能、高可用性的关系型数据库管理系统。它支持SQL标准,具备分布式、集群、并行计算等多种架构,适用于大数据处理和高并发访问场景。DM7提供了丰富的数据库功能,...
其中,`sambrown` 代表服务器名称,`mydatabase` 是数据库名称,`<hostname>` 和 `<port>` 表示服务器主机名和端口,`<username>` 和 `<password>` 用于用户身份验证。 #### Microsoft SQL Server Microsoft SQL ...
其次,MySQL是一个流行的关系型数据库管理系统,它使用SQL作为查询语言,提供了SQL数据库的全部功能。数据库主要用于存储、检索、操作数据。在Servlet中操作数据库,通常会使用JDBC(Java Database Connectivity)...
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</name> <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value> </parameter> ...
`db2 grant <权限> on <对象> to <用户>`:赋予用户对特定数据库对象的操作权限。 `db2 revoke <权限> on <对象> from <用户>`:撤销用户对数据库对象的权限。 9. **性能监控** `db2pd -db <数据库名> -table ...
使用[关联信息图]可以清楚的显示数据库对象间的相互调用关系.<br> 使用输出机能可以将数据图表通过OLE输出成Microsoft Excel文件.<br> 使用[显示SQL语法]机能可以提示您所有SQL的...
Hibernate作为一个流行的对象关系映射(ORM)框架,能够简化数据库操作,但同时也需要数据库连接来执行SQL语句。本文将详细介绍如何在Hibernate中使用Tomcat的内置连接池DBCP(Database Connection Pool)。 首先,...
HSQLDB因其小巧、快速和易用性而受到广泛的欢迎,尤其适合于对数据库性能有高要求但又不希望有太多复杂性的项目。 ### 安装HSQLDB 1. **下载**: 首先,你需要从HSQLDB的官方网站或者通过Git仓库获取最新的源码或二...
程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate<br>或者OJB 提供的方法完成持久层操作。程序员甚至不需要对SQL 的熟练掌握,<br>Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并...
Informix是一款高性能的关系型数据库管理系统。 1. **添加JDBC驱动**: 将Informix的JDBC驱动程序复制到`server/default/lib`目录下。 2. **配置文件**: - 修改`informix-de.xml`配置文件中的`<driver-class/>`和`...
1. 连接数据库:使用`db2 connect to <database> user <username> using <password>`命令,例如`db2 connect to sysdb user smp using smpaaa`。 2. 列出所有表:通过`db2 select tabname from syscat.tables`查询...
在这个场景中,"mybatis关联查询问题(一对多、多对一)"是核心关注点,这涉及到数据库设计中的关系映射以及在Mybatis中如何处理这些关系。 1. **一对多关联**: 在数据库设计中,一对多关联是指一个表中的记录可以...