`

从Oracle迁移到Mysql之前必须知道的50件事

 
阅读更多

  1、 对子查询的优化表现不佳。

  2、 对复杂查询的处理较弱

  3、 查询优化器不够成熟

  4、 性能优化工具与度量信息不足

  5、 审计功能相对较弱

  6、 安全功能不成熟,甚至可以说很粗糙。没有用户组与角色的概念,没有回收权限的功能(仅仅可以授予权限)。当一个用户从不同的主机/网络以同样地用户名/密码登录之后,可能被当作完全不同的用户来处理。没有类似于Oracle的内置的加密功能。

  7、身份验证功能是完全内置的。不支持LDAP,Active Directory以及其它类似的外部身份验证功能。

  8、Mysql Cluster可能与你的想象有较大差异。

  9、存储过程与触发器的功能有限。

  10、垂直扩展性较弱。

  11、不支持MPP(大规模并行处理)。

  12、支持SMP(对称多处理器),但是如果每个处理器超过4或8个核(core)时,Mysql的扩展性表现较差。

  13、对于时间、日期、间隔等时间类型没有秒以下级别的存储类型。

  14、可用来编写存储过程、触发器、计划事件以及存储函数的语言功能较弱。

  15、没有基于回滚(roll-back)的恢复功能,只有前滚(roll-forward)的恢复功能。

  16、不支持快照功能。

  17、不支持数据库链(database link)。有一种叫做Federated的存储引擎可以作为一个中转将查询语句传递到远程服务器的一个表上,不过,它功能很粗糙并且漏洞很多。

  18、数据完整性检查非常薄弱,即使是基本的完整性约束,也往往不能执行。

  19、优化查询语句执行计划的优化器提示非常少。

  20、只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join)。

  21、大部分查询只能使用表上的单一索引;在某些情况下,会存在使用多个索引的查询,但是查询优化器通常会低估其成本,它们常常比表扫描还要慢。

  22、不支持位图索引(bitmap index)。每种存储引擎都支持不同类型的索引。大部分存储引擎都支持B-Tree索引。

  23、管理工具较少,功能也不够成熟。

  24、没有成熟能够令人满意的IDE工具与调试程序。可能不得不在文本编辑器中编写存储过程,并且通过往表(调试日志表)中插入记录的方式来做调试。

  25、每个表都可以使用一种不同的存储引擎。

  26、每个存储引擎在行为表现、特性以及功能上都可能有很大差异。

  27、大部分存储引擎都不支持外键。

  28、默认的存储引擎(MyISAM)不支持事务,并且很容易损坏。

  29、最先进最流行的存储引擎InnoDB由Oracle拥有。

  30、有些执行计划只支持特定的存储引擎。特定类型的Count查询,在这种存储引擎中执行很快,在另外一种存储引擎中可能会很慢。

  31、执行计划并不是全局共享的,,仅仅在连接内部是共享的。

  32、全文搜索功能有限, 只适用于非事务性存储引擎。 Ditto用于地理信息系统/空间类型和查询。

  33、没有资源控制。一个完全未经授权的用户可以毫不费力地耗尽服务器的所有内存并使其崩溃,或者可以耗尽所有CPU资源。

  34、没有集成商业智能(business intelligence), OLAP 多维数据集等软件包。

  35、没有与Grid Control类似的工具(http://solutions.mysql.com/go.php?id=1296&t=s)

  36、没有类似于RAC的功能。如果你问”如何使用Mysql来构造RAC”,只能说你问错了问题。

  37、不支持用户自定义类型或域(domain)。

  38、 每个查询支持的连接的数量最大为61。

  39、MySQL支持的SQL语法(ANSI SQL标准)的很小一部分。不支持递归查询、通用表表达式(Oracle的with 语句)或者窗口函数(分析函数)。支持部分类似于Merge或者类似特性的SQL语法扩展,不过相对于Oracle来讲功能非常简单。

  40、 不支持功能列(基于计算或者表达式的列,Oracle11g 开始支持计算列,以及早期版本就支持虚列(rownum,rowid))。

  41、不支持函数索引,只能在创建基于具体列的索引。

  42、不支持物化视图。

  43、不同的存储引擎之间,统计信息差别很大,并且所有的存储引擎支持的统计信息都只支持简单的基数(cardinality)与一定范围内的记录数(rows-in-a-range)。 换句话说,数据分布统计信息是有限的。更新统计信息的机制也不多。

  44、没有内置的负载均衡与故障切换机制。

  45、复制(Replication)功能是异步的,并且有很大的局限性。例如,它是单线程的(single-threaded),因此一个处理能力更强的Slave的恢复速度也很难跟上处理能力相对较慢的Master。

  46、 Cluster并不如想象的那么完美。或许我已经提过这一点,但是这一点值得再说一遍。

  47、数据字典(INFORMATION_SCHEMA)功能很有限,并且访问速度很慢(在繁忙的系统上还很容易发生崩溃)。

  48、不支持在线的Alter Table操作。

  49、不支持Sequence。

  50、类似于ALTER TABLE或CREATE TABLE一类的操作都是非事务性的。它们会提交未提交的事务,并且不能回滚也不能做灾难恢复。Schame被保存在文件系统上,这一点与它使用的存储引擎无关。

分享到:
评论
2 楼 di1984HIT 2014-11-18  
这个我得记录一下。
1 楼 kkk3044147 2014-03-26  
赞,只了解其中的几条

相关推荐

    从Oracle迁移到MySQL经典实战

    《从Oracle迁移到MySQL经典实战》是一本针对企业节省成本、优化数据库架构的重要指南。Oracle数据库系统以其强大的功能和稳定性在企业级应用中占据主导地位,然而,随着MySQL的不断发展和成熟,其开源、免费的特性使...

    Oracle到Mysql数据库迁移总结

    Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结Oracle到Mysql数据库迁移总结

    oracle迁移到mysql问题记录.txt

    oracle迁移到mysql问题记录

    从Oracle迁移到MySQL的那些坑.pdf

    总的来说,从Oracle迁移到MySQL涉及多方面的考量,包括数据库替代、工具选择、数据一致性、性能优化等。每个工具都有其优点和缺点,应根据具体项目需求来权衡选择。迁移过程需要谨慎规划和实施,以确保业务连续性和...

    记使用Oracle SQL Developer 迁移MySql 数据至 Oracle.docx

    在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,如从MySQL迁移到Oracle。本文将详细讲解如何使用Oracle SQL Developer工具进行这样的迁移过程,以及如何解决在迁移过程中遇到的问题。 首先...

    数据库迁移之从oracle 到 MySQL

    本篇文章将详述从Oracle数据库到MySQL的迁移过程,主要关注关键步骤、工具选择以及可能遇到的问题。 首先,我们需要理解Oracle和MySQL之间的核心差异。Oracle是商业级的关系型数据库管理系统,以其强大的性能和高级...

    Mysql迁移Oracle方案

    在进行MySQL到Oracle的数据迁移之前,首先需要做好一系列的准备工作。 ##### 1.1 导入机 - **安装Oracle 11g数据库**:确保安装过程中正确配置数据库的各项参数,包括数据库实例名、管理端口等。 - **安装MySQL...

    Oracle导Mysql适用于百、千万级别数据迁移

    Oracle导Mysql适用于百、千万级别数据迁移,速度是kettle的10倍以上数据库迁移 数据迁移 千万级 亿万级数据,MySQL oracle关系型 现需要开发一套程序用来快速迁移数据库,要求如下: 1.使用人员可以指定迁移数据库...

    oracle 数据库 迁移 mysql

    Oracle到MySQL转换器是将数据库从Oracle迁移到MySQL服务器的工具。由于直接连接到源数据库和目标数据库,该程序保证了转换过程的高性能。它不使用ODBC或任何其他中间件组件。不需要安装Oracle组件。安装包包括产品到...

    oracle迁移mysql说明

    #### 一、Oracle迁移MySQL概述 在进行Oracle迁移至MySQL的过程中,需要关注几个关键步骤:首先是使用迁移工具如MetaDB工具完成数据库对象的转换与迁移;接着是通过Navicat等工具进行数据导入;最后是对迁移过程中...

    mysql和Oracle数据互相迁移

    Oracle和Mysql互相迁移数据,可同时迁移多个不同数据库数据(并发的将数据在oracle和mysql之间随意迁移),效率高(实际测试表明,将100万数据从oracle迁移到mysql耗时2分30秒,其中1分30秒耗在oracle查询上),支持...

    从Oracle迁移数据到MySql-工具oracle2mysqlcn

    数据迁移 oracle转mysql oracle数据迁移 mysql数据迁移 从Oracle迁移数据到MySql-工具oracle2mysqlcn 从Oracle迁移数据到MySql方法大全文章地址: http://www.bywei.cn/post/111.html

    oracle到mysql建表语句迁移

    oracle向mysql建表语句的迁移。 直接表结构的生成sql脚本

    Mysql迁移到Oracle就是这么简单

    本篇文章将深入探讨如何从MySQL迁移到Oracle,以及在过程中可能遇到的问题和解决方案。 首先,MySQL是一款开源、免费的DBMS,以其易用性、灵活性和高效性能受到中小型企业的青睐。而Oracle则是一款企业级的、功能...

    Oracle到mysql的迁移步骤及各种注意事项_数据库.docx

    从 Oracle 到 MySQL 的迁移尤其需要注意以下几个方面: 1. 数据类型:Oracle 的数据类型与 MySQL 的数据类型有所不同,例如 Oracle 的 varchar2 对应 MySQL 的 varchar(20),Oracle 的 number() 对应 MySQL 的 ...

    PHP将数据从Oracle向Mysql数据迁移的技术要领

    在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库系统之间,例如从Oracle迁移到Mysql。本文主要讨论了如何利用PHP来实现这个过程的技术要领。 首先,迁移的原因通常是经济性和技术性能的考虑。Mysql...

    基于JDBC同步Oracle到MySQL

    分别有:数据源配置、数据表结构转换、字段更新、数据迁移、根据oracle SQL的UPDATE DELETE 事物执行记录转为Mysql可执行SQL,同步执行到MySql数据库,此项目为个人兴趣爱好练手项目,项目问题欢迎留言,共同进步...

    超级好用的数据库迁移工具(MySQL、Oracle)

    由于各种原因,用户可能需要将数据从MySQL迁移到Oracle,或反之亦然。 数据库迁移的核心步骤包括数据抽取、转换和加载(ETL)。DataX作为阿里云推出的一款开源数据同步工具,支持多种数据库之间的数据迁移,包括...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...

    瀚高迁移工具,迁移工具支持源端为Oracle、MySQL、SQL Server、DB2、Kingbase、DM

    迁移工具版本为hgdb-migration-v4.1.4,瀚高数据库迁移工具支持源端为Oracle、MySQL、SQL Server、DB2、KingbaseV7、KingbaseV8、DM7、DM8、HIGHGO数据库,目标端为HIGHGO、PostgreSQL数据库的自动化迁移,为了能更...

Global site tag (gtag.js) - Google Analytics