网站名字大全,校园资源共享网站建设,wordpress 3.6,做一个中英文网站的价格、mysql与oracle都是关系型数据库#xff0c;Oracle是大型数据库#xff0c;而MySQL是中小型数据库。但是MySQL是开源的#xff0c;但是Oracle是收费的#xff0c;而且比较贵。 1
2
mysql默认端口#xff1a;3306#xff0c;默认用户#xff1a;root
oracle默认端口Oracle是大型数据库而MySQL是中小型数据库。但是MySQL是开源的但是Oracle是收费的而且比较贵。 1
2
mysql默认端口3306默认用户root
oracle默认端口1521默认用户system
2、Oracle的内存占有量非常大而mysql非常小mysql安装后差不多一两百兆而oracle则有3G左右且使用的时候oracle占用特别大的内存空间和其他机器性能。 1
2
mysql登录mysql -hip -u用户名 -p密码 -P端口号 -D数据库名hhost、uuser、ppassword
oracle登录sqlplus user_name/passwordip:port/instance_name;可以把IP地址端口号实例名写在一个TNS文件中取一个别名登陆的时候输入这个别名就行
oracle支持大并发大访问量是OLTP最好的工具。 3、数据库的层次结构 1
2
mysql默认用户是root用户下可以创建好多数据库每个数据库下还有好多表一般情况下都是使用默认用户不会创建多个用户
oracle创建一个数据库数据库下有好多用户sys、system、scott等不同用户下有好多表一般情况下只创建一个数据库用。
4、数据库中表字段类型 1
2
mysqlint、float、double等数值型varchar、char字符型date、datetime、time、year、timestamp等日期型。
oraclenumber数值型varchar2、varchar、char字符型date日期型等…
其中char(2)这样定义这个单位在oracle中2代表两个字节mysql中代表两个字符。 其中varchar在mysql中必须给长度例如varchar(10)不然插入的时候出错。 5、主键 1
MySQL支持主键自增长指定主键为auto increment插入时会自动增长。Oracle主键一般使用序列。
6、引号处理 1
MySQL字符串可以使用双引号包起来而Oracle只可以单引号
7、分页 1
MySQL分页用limit关键字而Oracle使用rownum字段表明位置而且只能使用小于不能使用大于。
8、对事物提交 1
2
mysql默认是自动提交可以修改为手动提交。
oracle默认不自动提交需要手动提交需要在写commit指令或点击commit按钮。
9、事务隔离级别 1
2
3
4
mysql是repeatable read的隔离级别而oracle是read commited的隔离级别
同时二者都支持serializable串行化事务隔离级别可以实现最高级别的读一致性。每个session提交后其它session才能看到提交的更改
oracle通过在undo表空间中构造多版本数据块来实现读一致性每个session查询时如果对应的数据块发生变化oracle会在undo空间中为这个session构造它查询时的旧的数据块
mysql没有类似oracle的构造多版本数据的机制只支持read commited的隔离级别一个session读取数据时其他session不能更改数据但可以在表最后插入数据session更新数据时要加上排它锁其他session无法访问数据。
10、并发性 1
2
mysql以表级锁为主对资源锁定的粒度很大如果一个session对一个表加锁时间过长会让其他session无法更新此表中的数据。虽然Innodb引擎表可以用行级锁但这个行级锁的机制依赖于表的索引如果表没有索引br或者sql语句没有使用索引那么仍然使用表级锁
oracle使用行级锁对资源锁定的粒度要小很多只是锁定sql需要的资源并且加锁是在数据库中的数据行上不依赖于索引所以oracle对并发性的支持要好很多。
11、逻辑备份 1
2
mysql逻辑备份时要锁定数据才能保证备份的数据是一致的影响业务正常的dml使用。
oracle逻辑备份时不锁定数据且备份的数据是一致的。
12、判断真假 1
MySQL中0、1判断真假Oracle中true false
13、区分大小写 1
2
MySQL在windows环境下大小写不敏感 在unix,linux环境下区分大小写。
Oracle不区分
14、日期转换 1
2
mysql中日期转换用dateformat()函数
oracle用to_date()与to_char()两个函数。