首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ETA:将Oracle查询转换为MySQL

ETA:将Oracle查询转换为MySQL
EN

Database Administration用户
提问于 2012-07-21 08:56:14
回答 1查看 754关注 0票数 3

任务:用MySQL替换Oracle11g

当前设置:

  • 甲骨文11g SE 1
  • 约80张表
  • 存储过程,PL/SQL已经到位,但超出了这个问题的范围。
  • 客户端应用程序不使用像JDBC这样的通用访问技术,而是使用OCI库。
  • 应用程序有大约500个针对Oracle的固定SQL查询

管理层现在想要概述一份迁移草案。不要为模式或数据迁移操心。

我正试图找出翻译500个查询所需时间的粗略估计。当然,这些查询的范围从非常简单的插入/选择到具有子查询、多个联接和类似于这样的表达式的相当复杂的查询:

代码语言:javascript
复制
TRUNC(EXTRACT(DAY FROM (afs.next - TO_TIMESTAMP_TZ('1970-01-01 00:00:00 UTC',
 'YYYY-MM-DD HH24:MI:SS TZR'))) * 86400 + EXTRACT(HOUR FROM (afs.next - 
TO_TIMESTAMP_TZ('1970-01-01 00:00:00 UTC', 'YYYY-MM-DD HH24:MI:SS TZR'))) 
* 3600 + EXTRACT(MINUTE FROM (afs.next - TO_TIMESTAMP_TZ('1970-01-01 00:00:00 UTC',
 'YYYY-MM-DD HH24:MI:SS TZR'))) * 60 + EXTRACT(SECOND FROM (afs.next - 
TO_TIMESTAMP_TZ('1970-01-01 00:00:00 UTC', 'YYYY-MM-DD HH24:MI:SS TZR')))) as \"next\"

提示:这些表达式的意义和目的必须从现有查询中读出,因为在创建时,没有人费心记录实现的细节。

我完全意识到,有些查询可能无法翻译,因为MySQL可能不支持某些东西。

问:你能对你认为专家能够做到的“吞吐量”给出一个粗略的提示吗?专家将是一个熟练的MySQL,甲骨文和应用程序的人。您认为“转换”单个平均查询并在目标数据库中手动测试需要多长时间?

请忽略整个应用程序所需的测试。不要认为我们必须事先设置目标模式。欢迎有关移民失败和灾难性问题的提示和故事。

谢谢!

EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-07-23 18:18:55

为什么要迁移到MySQL?你考虑过PostgreSQL吗?我之所以问这个问题,是因为PostgreSQL与甲骨文基本上是兼容的,并且会使迁移变得更简单。

也就是说,翻译80个表定义和500个查询可能需要一个月左右的时间。简单的CRUD语句将仅限于专家的输入速度,但如果您正在进行任何聚合或其他BI类型的工作,只需一天就可以使一条语句正常工作。您最好简单地记录每个查询,然后使用MySQL成语从头重写它们,而不是尝试翻译它们。

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

https://dba.stackexchange.com/questions/21280

复制
相关文章

相似问题

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