首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >H2 (档案)删除性能

H2 (档案)删除性能
EN

Stack Overflow用户
提问于 2016-07-06 07:10:44
回答 1查看 806关注 0票数 3

当涉及到在自动服务器模式下基于文件的H2数据库时,我遇到了一些问题。我使用的是H2版本1.3.174。数据库包含一个包含5列的表。其中一个列是CLOB,它(平均)包含每行1 KB的文本数据。在单线程测试运行中,我插入了80万行,花了409秒-好的。我已经用以下步骤执行了第二个测试:

  1. 从数据库加载前100条消息。消息的顺序是通过主键(数字)值建立的。
  2. 用以下语句删除这100条消息:从mytable删除id IN (.);

直到删除了790,000行数据库,才会这样做。在我的真实场景中,在步骤1和步骤2之间会有一些处理。第二次测试运行了8.5小时,在一台空载下的快速机器上!我注意到,在删除过程中,H2创建了名为"mydb.1978734278.38.temp.db“的临时文件,其大小在24到1300 MB之间变化很快。

这是预期的行为吗?知道我可能做错了什么吗?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-07 08:44:42

我用我的发现来回答我自己的问题:

  1. 主要问题是SELECT语句,这是因为缺少索引。一旦正确的索引到位,SELECT/DELETE测试运行只需2分钟。
  2. 使用CLOBS或LONGVARBINARY代替VARCHAR似乎存在空间问题:使用后者时文件大小被减半。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38218147

复制
相关文章

相似问题

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