mysql和oracle的区别(基础的区别,不深入)
1.自增长的数据类型处理不同:mysql只需要设置auto increament,oracle需要建立一个自动增长的序列。
2.引号的处理不同:mysql里可以用双引号将字符包括,而oracle只能用单引号。
3.分页设置的不同:mysql只需要设置limit即可,而oracle需要根据rownum来进行嵌套查询。
4.date类型字段的处理不同:mysql日期类型有date和datetime两种,date类型不精确到时分秒,datetime类型精确到时分秒;oracle日期类型有date和timestamp,date类型根据不同的设置可以决定是否精确到时分秒,timestamp类型根据不同的设置可以精确到微妙,甚至纳秒。
5.事务的提交:mysql对数据操作后事务会自动提交,而oracle必须手动用commit提交。
6.字符串的处理:oracle有一个数据类型叫clob类型,该类型主要用于insert和update时字符串大于等于4000个单字节时使用,所以在插入或者修改数据时要对数据进行判断是否为空或长度是否超出,如果为空或者长度超出就发出警告,并返回上一次操作;mysql中没有类似的处理方法
7.一致性:mysql的隔离级别只支持read commited隔离级别,即一个session查询数据时,另外一个session不能对数据进行更改。oracle支持serializable的隔离级别,可以实现最高级别的读一致性。每个session提交后其他session才能看到提交的更改。
oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。
7.性能上:mysql是中小型数据库,所以安装完也才100多M;而oracle是大型数据库,安装完有大约3G;
8.价格:mysql开源免费,oracle收费极高