之前主要使用oracle,最近几个才开始使用mysql。发现mysql一些坑总结如下:
1. 字符比较竟然不区分大小。难以想象。。。。。
2. 表名在windows平台不区分大小写,在unix/linux平台区分大小写。 系统在windows平台测试通过,发布到linux平台就不工作了。。。
3. 默认的事务隔离级别是repeatable read, oracle 默认的隔离级别是,read committed。 会出现一些诡异的问题,这种语句 insert into A select B.* from B , C where B.id=C.id and B.id=123;
会把B,C表给锁住 。。。
查看这里
4. 没有树状查询功能。Oracle可以使用connect by,非常方便。在mysql中,想要实现比较灵活的树状查询只能使用“子集划分”方法。不然就只能固定层次,把sql语句写死吧。
还有其它坑以后遇到在补充。
我发现网上也有人把MYSQL与PostgreSQL对比。 MySQL 之九奇坑
推荐阅读
- mysql|InnoDB数据页结构
- 数据库|SQL行转列方式优化查询性能实践
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- mysql|一文深入理解mysql
- 达梦数据库|DM8表空间备份恢复
- 数据技术|一文了解Gauss数据库(开发历程、OLTP&OLAP特点、行式&列式存储,及与Oracle和AWS对比)
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- 谈灾难恢复指标(RTO与RPO是什么鬼())
- RPO与RTO