首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java mssql-jdbc:从包含xml列的表中检索数据速度较慢

Java mssql-jdbc:从包含xml列的表中检索数据速度较慢
EN

Stack Overflow用户
提问于 2019-03-25 18:56:15
回答 1查看 177关注 0票数 0

我在Sql Server上有一个中等大小的表,大约有4000万行。特别是,这个表有一个xml列,它的大小可能很大。

在使用last version of mssql-jdbc从该表中检索数据时,我遇到了非常糟糕的性能。我正在寻找方法来提高java端和数据库端的性能。

在java方面,这是获取数据的相关代码:

代码语言:javascript
复制
String connectionUrl = "jdbc:sqlserver://10.10.10.28:1433;databaseName=MYDB;user=MYUSER;password=MYPWD;selectMethod=direct;sendStringParametersAsUnicode=false;responseBuffering=adaptive;";

String query = "SELECT * FROM MYTABLE WHERE DateTimeField > '2019-03-25 00:00:00.0' AND DateTimeField < '2019-03-25 13:00:00.0'";

try (Connection sourceConnection = DriverManager.getConnection(connectionUrl);
    Statement stmt = sourceConnection.createStatement(SQLServerResultSet.TYPE_SS_SERVER_CURSOR_FORWARD_ONLY, SQLServerResultSet.CONCUR_READ_ONLY)   ) {

    stmt.setFetchSize(100); 
    resultSet = stmt.executeQuery(query);

    while (resultSet.next()) {

        // do something

    }

}

我将fetch size设置为100行,因为我注意到如果fetch size设置得太大就会出现问题,这可能是因为xml列在网络上发送时比较繁重。

在这种情况下,有没有人有任何建议来提高获取数据的性能?

EN

回答 1

Stack Overflow用户

发布于 2019-03-25 19:40:34

由于您的筛选器非常窄,因此性能问题很可能是由于缺少索引与列的大小造成的。

做一个简单的

代码语言:javascript
复制
Select count(*) from ......

并查看性能。这很可能也会很慢,从而消除XML列的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55336224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档