- 浏览: 931059 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (445)
- 备忘 (0)
- java基础 (28)
- jsp (15)
- css (4)
- javascript (30)
- struts (7)
- servlet (2)
- struts2 (7)
- jdbc (16)
- hibernate (22)
- ibatis (0)
- jpa (1)
- spring (17)
- spring定时任务 (8)
- 整合开发 (12)
- JavaArticle (0)
- php (6)
- velocity (2)
- mysql (19)
- sqlserver (52)
- oracle (23)
- lucene (49)
- ajax (13)
- dwr (5)
- JFreeChart (1)
- service (14)
- tools (18)
- c#基础 (20)
- 程序安全 (0)
- 学习网站 (1)
- 社会需求 (2)
- flash (1)
- 流媒体 (1)
- java_code (1)
- htmlparser (1)
- 速动画教程 (5)
- 设计模式 (1)
- xml操作 (2)
- uml操作 (4)
- 测试 (1)
- linux (8)
- 版本控制 (4)
- 服务器 (12)
- 安全 (6)
- 美工 (2)
最新评论
-
Zhang_amao:
我想问一下, 你用的lucene版本和highligher的版 ...
使用Lucene的Highlighter实现文件摘要的自动提取 -
wangmengfanwangzhi:
博主,你的QQ是什么啊?有关于lucene的问题想要请教啊~~ ...
Lucene下载及测试 -
cutesunshineriver:
讲得很好,理解起来很顺,对个人学习的帮助性很大,谢谢博主。
velocity入门一 -
libin2722:
我这里有一个任务调度,在晚上3点时候会自动将数据库中某表的数据 ...
Lucene-2.2.0 源代码阅读学习(16) -
greatwqs:
java -cp $JVM_ARGS $classpath ...
java的cp命令
今天在修改search的建立索引的程序的时候,发现了这个错误
使用jdbc读取SQLServer2005的一个表全部记录,该表具有10W记录,结果发生以下错误:
- com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标: Java heap space。ResultSet 大小:236,535,956。JVM 总内存大小:312,213,504。
- at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
- at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source)
- at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
- at com.microsoft.sqlserver.jdbc.SQLServerStatement$StatementExecutionRequest.executeStatement(Unknown Source)
- at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
- at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
- at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)
com.microsoft.sqlserver.jdbc.SQLServerException: 系统内存不足。请对大型 ResultSet 使用服务器端游标: Java heap space。ResultSet 大小:236,535,956。JVM 总内存大小:312,213,504。 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source) at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement$StatementExecutionRequest.executeStatement(Unknown Source) at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)
使用以下代码无效
- Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
- stmt.setFetchSize(100);
Statement stmt = con.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY); stmt.setFetchSize(100);
查文档得知与sqlserver jdbc驱动的select Method有关。selectMethod分为direct和cursor。当使用direct时,驱动会一次性载入所有结果集到jvm内存中,因此造成了out of memory;而使用cursor时,会在服务器端创建一个cursor,因此不会占据客户端的大量内存,办法有两种:
[list=1]
这种方式会影响整个应用程序,可能引起其他普通情况的读取性能下降。
- Statement stmt = con.createStatement(SQLServerResultSet.TYPE_SS_SERVER_CURSOR_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
Statement stmt = con.createStatement(SQLServerResultSet.TYPE_SS_SERVER_CURSOR_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
这种方式会造成SQLServer的API侵入,但不失为一种更好的办法。
发表评论
-
创建索引的时候出现的错误
2010-01-04 10:13 1712<OFMsg>251658517"1&q ... -
使用Lucene的Highlighter实现文件摘要的自动提取
2009-02-06 16:52 6661使用Lucene自带的Highlighter就可以实现对原始文 ... -
Lucene倒排索引原理
2009-02-06 16:08 1158Lucene是一个高性能的java全文检索工具包,它使用的是倒 ... -
Lucene 2.2.0发布自带的HTMLParser的使用
2009-02-06 16:00 2552Lucene 2.2.0发行包中自带 ... -
Lucene关键字高亮显示
2009-02-06 15:53 2383在Lucene的org.apache.lucene.s ... -
Lucene-2.2.0 源代码阅读学习(42)
2009-02-06 15:46 1337关于Hits类。这个Hits类 ... -
Lucene-2.2.0 源代码阅读学习(41)
2009-02-06 15:40 1116当执行Hits htis = search(query);这一 ... -
Lucene-2.2.0 源代码阅读学习(40)
2009-02-06 15:34 1197关于Lucene检索结果的排序问题。 已经知道,Lucene的 ... -
Lucene-2.2.0 源代码阅读学习(39)
2009-02-06 15:31 1125关于Lucene得分的计算。 在IndexSearcher类中 ... -
Lucene-2.2.0 源代码阅读学习(38)
2009-02-06 15:13 1134关于QueryParser。 QueryParser是用来解析 ... -
Lucene-2.2.0 源代码阅读学习(37)
2009-02-06 15:06 1070关于MultiTermQuery查询。 这里研究继承自Mult ... -
Lucene-2.2.0 源代码阅读学习(36)
2009-02-06 15:05 1023关于MultiTermQuery查询。 这里研究FuzzyQu ... -
Lucene-2.2.0 源代码阅读学习(35)
2009-02-06 15:03 947于MultiPhraseQuery(多短语查询)。 Multi ... -
Lucene-2.2.0 源代码阅读学习(34)
2009-02-06 15:02 975关于PhraseQuery。 PhraseQuery查询是将多 ... -
Lucene-2.2.0 源代码阅读学习(33)
2009-02-06 15:01 1001关于范围查询RangeQuery。 ... -
Lucene-2.2.0 源代码阅读学习(32)
2009-02-06 15:00 894关于SpanQuery(跨度搜索),它是Query的子类,但是 ... -
Lucene-2.2.0 源代码阅读学习(31)
2009-02-06 14:58 952关于前缀查询PrefixQuery(前缀查询)。 准备工作就是 ... -
Lucene-2.2.0 源代码阅读学习(30)
2009-02-06 14:57 759关于Query的学习。 主要使用TermQuery和Boole ... -
Lucene-2.2.0 源代码阅读学习(29)
2009-02-06 14:54 1163关于IndexSearcher检索器。 ... -
Lucene-2.2.0 源代码阅读学习(28)
2009-02-06 14:48 1290关于检索的核心IndexSearcher类。 IndexSea ...
相关推荐
在64位(X64)系统上安装SQL Server 2005 Express,可以充分利用更大的内存和处理器资源,从而提高数据处理性能。下面我们将详细探讨SQL Server 2005 Express X64的特性、安装过程、使用场景以及相关知识点。 1. **...
6. **分析和报表**:SQL Server Analysis Services支持多维数据集和数据挖掘,而Reporting Services则提供了丰富的报表设计和分发功能,方便企业进行决策支持。 7. **Web服务和.NET集成**:SQL Server 2005与.NET ...
SQL Server 2005是基于.NET Framework 2.0构建的,提供了一整套全面的数据管理和分析解决方案。它支持多种数据库服务,包括数据库引擎、Analysis Services(数据分析服务)、Integration Services(数据集成服务)、...
Microsoft SQL Server 2005 JDBC Driver是一款由微软公司开发的Java数据库连接(JDBC)驱动程序,专门用于Java应用程序与Microsoft SQL Server 2005数据库之间的通信。这款驱动程序实现了Java Database Connectivity...
Microsoft SQL Server 2005 Express Edition SQL Server 文档小组无法回答技术支持问题,但是欢迎您对本自述文档提出建议和意见。您可以使用提供的链接快速、直接地发送电子邮件反馈。请使用英语发送您的反馈信息...
在SQL Server 2005中,分页查询是一个常见的需求,特别是在处理大量数据时,为了提高用户体验,通常需要一次性加载一定数量的数据,而不是一次性显示所有数据。以下将详细讲解SQL Server 2005中分页查询的常用方法。...
4. **内存压力**:当内存不足时,SQL Server会使用“内存压力”机制,通过淘汰缓存页来释放内存。监视“内存压力”有助于发现可能的性能瓶颈。 二、IO性能监控 1. **磁盘I/O监控**:使用`sys.dm_io_virtual_file_...
在C++编程中,与SQL Server数据库交互是常见的任务,特别是在开发桌面应用程序时。要实现这一功能,开发者通常会利用数据库API或者ODBC(Open Database Connectivity)等接口。本篇文章将详细探讨如何在C++中使用...
3. 处理结果集:对于查询操作,可以遍历`ResultSet`来获取数据。 **关闭资源** 记得在完成数据库操作后关闭所有打开的资源,以释放系统资源,防止内存泄漏。 ```java finally { if (rs != null) { rs.close(); }...
2. 数据源控件缓存:SQLDataSource控件支持数据集缓存,可以在数据查询后将其保存在服务器内存中,下次请求相同数据时直接返回缓存的结果,而不重新执行查询。这需要在控件的配置中设置`CacheDuration`属性来指定...
在SQL Server 2005中,数据库级别的异步分页是一种提高大型数据集查询效率的技术,它允许应用程序以非阻塞方式获取数据,从而提高用户体验。这种技术结合了存储过程、JavaScript以及数据库的内部机制,以实现高效、...
4. **处理结果集**:对于查询语句,执行后返回ResultSet对象,通过迭代遍历结果集,获取数据。 5. **关闭资源**:使用完连接、Statement和ResultSet后,务必关闭以释放资源,防止内存泄漏。 6. **异常处理**:在每...
SQL Server 2005 JDBC 是微软公司提供的一种用于Java应用程序与SQL Server 2005之间进行数据交互的驱动程序。JDBC(Java Database Connectivity)是Java平台中用于访问数据库的标准API,它允许Java开发者在Java代码...
- **SQL Server 2005 Workgroup Edition**:面向小型企业的解决方案,提供了基本的数据管理和存储功能。 - **SQL Server 2005 Developer Edition**:专为开发人员设计,具有与 Enterprise Edition 相同的功能集,但...
通过使用SQL Server Profiler跟踪性能数据,System Monitor监控系统指标,以及动态管理视图获取实时数据库状态信息,可以定位问题所在。 **Resource Bottlenecks** 资源瓶颈部分详细讨论了CPU、内存和I/O可能出现的...
《SQL Server 2005性能调优》是针对数据库管理员和开发人员的重要参考资料,尤其在处理大型系统时,性能优化是确保系统高效运行的关键环节。SQL Server 2005作为微软公司的一款强大数据库管理系统,其性能调优涉及到...
3. Sql Server 2005:这是一个关系型数据库管理系统,提供数据存储、查询和管理功能,支持高效的分页查询。 二、分页实现步骤 1. 数据库设计与准备: - 设计一个包含多行数据的表。 - 在Sql Server 2005中创建并...
SQLServer 性能仪表盘(Performance Dashboard Reports)是SQL Server管理工具中的一种强大特性,它为数据库管理员提供了直观且详尽的性能监控解决方案。通过这些报告,DBAs能够快速识别和解决性能瓶颈,优化数据库...