【发布时间】:2019-04-05 16:04:28
【问题描述】:
应用程序从 SAP HANA ResultSet 检索记录的性能很慢。
为了验证性能,我创建了以下场景并进行了测试。我使用 MySQL 和 SAP HANA 进行比较。
在 MySQL 和 SAP HANA 数据库中创建了同一个表,并在两个数据库的表中生成了相同的数据。
使用 MySQL 数据库创建的报告以及将数据发布到弹性搜索所需的时间 - 22 毫秒
使用 SAP HANA 数据库创建的报告以及将数据发布到弹性搜索所需的时间 - 19441 毫秒
以下代码需要更多时间
while(rs.next()){
<!--code to fetch the the records !-->
rs.getString("actorId");
}
相同的代码用于 MySQL 和 SAP HANA 数据库。
我已放入日志文件语句以查看执行所用时间,并观察到 SAP HANA 需要更多时间从 ResultSet 获取和处理记录。
【问题讨论】:
-
22 毫秒?您正在测试/获取多少行?在同一主机上是否有弹性?你怎么知道 getString() 需要更多时间?您如何对代码进行基准测试?
-
弹性服务器在同一主机上。处理 300 行。问题不在于 MySQL,使用 SAP HANA 结果集,它需要将近 20 秒,而 MySQL 只需要 22 毫秒