Rails 6和Oracle 11 XE:为什么模式/结构转储这么慢?

问题描述

我正在将带有activerecord-oracle_enhanced-adapter适配器的Rails 6用于Oracle 11 XE数据库。 在项目开始时,我与Postgres合作,但是由于客户需求,我不得不迁移到Oracle。

我的问题与Rails: rake db:migrate *very* slow on Oracle非常相似,但是它来自11年前,我正在使用适配器的更新版本。

我知道在将所有迁移应用于数据库之后,rake db:migrate调用db:schema:dump任务以从当前数据库架构生成schema.rb文件。我只有一个模式,有很多表(大约90个)

一个问题的答案类似于

如何调试此问题的一种方法是将一些调试 oracle_enhanced_adapter.rb文件中的消息,以便您可以识别 哪种方法调用需要很长时间。

== 20200820164111 RemoveSemesterFromProject: migrated (0.1347s) ===============
real    13m26,038s
user    0m5,494s
sys 0m0,401s

所有迁移均在合理的时间内完成,所以我认为该错误发生在以下操作“ db:schema:dump”中,但是我没有oracle_enchaced_adapter.rb,也没有oracle_enhanced_adapter.rb,所以我不知道在哪里看。

我该怎么做才能改善这种行为?

[编辑]:

我运行db:schema:dump

所花费的时间
real    9m44,074s
user    0m3,701s
sys 0m0,327s

这是我运行db:structure:dump

所花费的时间
real    21m40,073s
user    0m5,046s
sys 0m0,413s

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)