【发布时间】:2012-11-23 21:21:42
【问题描述】:
我目前正在使用开箱即用的 H2 文件存储数据库来测试我的 Grails (2.1.0) 应用程序。我有 4 个域类,总共大约 20 个字段。这是一个小应用程序。
最近我注意到,一旦我通过了 14000 条记录(H2 文件 DB),Grails 应用程序开始运行缓慢 - CPU 利用率相当高,记录插入似乎变得迟缓。注意:我有多达 250 个线程插入数据。以上情况让我提出以下问题:
MySQL 的性能是否优于 H2?
如何测试 Grails 应用程序并清楚地显示/证明缓慢来自 H2 交互?我不想简单地转述我自己的观察。
谁能详细说明 H2 在 Grails 项目中的使用?我想知道使用 H2 的“截止”点在哪里,是时候转移到 MySQL 了吗? --也许我在用这么多记录滥用H2。
谢谢。
【问题讨论】:
-
你有 250 个线程同时插入记录吗?
-
是的,同时进行。此外,我在每次插入之前执行 FindBy 操作,搜索是在字符串字段上完成的 - 非索引。
-
也许 14000 条记录是 H2 无法将表保存在内存中并从磁盘而不是仅在内存中进行全表扫描分页的点...尝试向该字符串字段添加索引。
标签: mysql performance grails h2