当前位置:  开发笔记 > 后端 > 正文

将MySQL迁移到PostgreSQL - SQL代码中不可见的哪些功能很重要?

如何解决《将MySQL迁移到PostgreSQL-SQL代码中不可见的哪些功能很重要?》经验,为你挑选了1个好方法。

我们正在将MySQL迁移到PostgreSQL.我可以轻松地审计整个(REALbasic)程序中使用的模式和SQL语句.大多数SQL都是由构建字符串变量组成的.

我已经知道需要用SELECT LAST_INSERT_ID()具有UNIQUE约束的SERIAL列替换我们的使用.

什么,如果有的话,这两个它们之间的差异并不明显在SQL语句中可见会咬我们吗?我正在寻找(可能是微妙的)关于行为的假设,例如自动提交中的任何差异,需要添加不在MySQL中的约束等.

我试图弄清楚任何一个聪明,细心的人,他们不是任何一个数据库中的大师.

这是一种单向承诺,所以如果我们通过添加新的声明获得重大利益,我会感激他们指出.

注意:我们没有使用任何形式的参数化查询,是的,我已经指出注入攻击的问题是对代码的必要审计.

是的,好奇的是,这个决定是由GPL问题引起的,而不是我们不赞成支付许可证,但不幸的是,MySQL的唯一REALbasic驱动程序是GPL.截至2009年5月,Real Software发布了一个新的社区驱动程序,它是GPL,并且包含源代码.他们承诺在不久的将来推出非GPL Enterprise驱动程序.

我准备相信答案可能是床底下没有看不见的怪物,但我想我要确定.



1> Tometzky..:

select count(*) from table;

会很慢,因为它需要阅读整个表格.如果您需要经常计算大表,它需要解决方法.这是确保多版本并发控制所必需的.

在最新版本(8.3)中,没有隐式转换为文本,这意味着例如

select 234 like '2%';

会抛出错误.你需要明确的演员:

select 234::text like '2%';

更新实际上是删除+插入.由于删除行使用的空间不会立即释放,因此如果您在一个事务中更新整个表,那么您将需要加倍空间.

Postgresql是一个非常好的数据库,你会很快爱上它.它有几个非常有用的功能,你会在其他甚至商业数据库中错过.例如,事务数据定义语言或保存点.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有