oracle切换到mysql_长期的Oracle用户切换到MySQL,任何需要注意的问题?

MySQL有各种引擎 – 主要是INNODB和MyISAM.

MyISAM does not support transactions, nor foreign key constraints.隔离级别相似 – 这些天数据库之间似乎相对标准.

索引

优化器每个SELECT子句只能使用一个索引 – 检查EXPLAIN PLAN输出.有指定要使用的索引的语法,但它是一个提示&仍然可以被优化器忽略.

约束

自定义错误处理

以前 –

MySQL不支持定义自定义错误以区分数据完整性和业务规则错误.

分析/排名/窗口功能

MySQL没有任何此类功能 – 没有ROW_NUMBER,NTILE,RANK或DENSE_RANK.您可以使用变量创建伪造的功能 – 如果您检查标签“mysql”,“rank”,那么SO上有很多示例.

WITH语法 – 子查询因子

分层查询支持

你猜对了 – 没有递归支持分层查询.从v2(!!)开始,Oracle有CONNECT BY,但ANSI标准是使用你在SQL Server 2005中看到的WITH子句.

查看

PIVOT / UNPIVOT

这是ANSI标准语法; Oracle在11g开始支持,但MySQL再次不支持这一点.只有选项是CASE表达式和聚合函数,它仍然是实现此功能的最便携方式(SQL Server 2005支持PIVOT / UNPIVOT).

序列

MySQL不支持序列,最接近的是将INT列定义为auto_increment.这使得在两个或多个表中使用相同的值序列非常困难(如果您不需要,则不是您真正想要的).此外,每个表只能定义一个auto_increment列. increment and offset is instance-wide – 更改它,并影响实例所服务的每个数据库中的每个auto_increment列.重置auto_increment值需要ALTER TABLE权限;删除/截断数据不会改变当前值.

数据类型

包,存储过程,功能

MySQL支持用户定义的函数和存储过程 – 我还没有遇到支持类似于Oracle软件包的数据库. SQL Server具有CLR程序集,但它需要使用.NET CLR代码而不是本机TSQL / PLSQL.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将Mybatis项目数据库从Oracle切换MySQL需要注意以下几个方面: 1. 数据库驱动的切换OracleMySQL的数据库驱动是不同的,需要将原来的Oracle数据库驱动替换成MySQL数据库驱动。 2. 数据类型的区别:OracleMySQL的数据类型是不同的,需要进行数据类型的转换。例如,Oracle中的LONG类型需要转换成MySQL中的TEXT类型或BLOB类型。 3. 分页方式的变化:OracleMySQL的分页方式不同,需要修改SQL语句中的分页方式。例如,Oracle中使用ROWNUM进行分页,而MySQL使用LIMIT进行分页。 4. SQL语句的差异:OracleMySQL的SQL语句也有一些差异,需要根据不同的数据库进行修改。例如,Oracle中使用“+”进行字符串拼接,而MySQL使用“||”进行字符串拼接。 5. 数据库方言的选择:Mybatis支持多种数据库,可以根据不同的数据库选择相应的方言进行配置。需要注意的是,不同的方言支持的功能也有所不同。 6. 数据库连接的配置:需要修改Mybatis的数据库连接配置,包括数据库的URL、用户名、密码等信息。 7. 数据库的兼容性:在进行数据库切换时,需要考虑原有的数据库设计是否与MySQL兼容。例如,Oracle中的SEQUENCE在MySQL中没有对应的功能,需要进行相应的调整。 总之,将Mybatis项目数据库从Oracle切换MySQL需要进行多方面的调整和修改,需要谨慎处理,避免影响项目的正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值