MySQL和Oracle两者的的主要区别介绍
最近开始换工作,面试了两家公司的时候被问到关于mysql和oracle的区别有哪些?因为我主要学习的是oracle对于mysql很多都是看的网上的资料很少有做实验,所以当时回答的不是很好。现在使用mysql的公司比较多,所以后来我还是在网上整理了一些资料,谈谈自己的看法 希望大家多多指教。
关于mysql和oracle的主要区别:
大家比较容易想到的就是mysql是开源的项目,开源=免费所以一些中小企业考虑的时候mysql肯定是首选。oracle是oracle公司推出的一款成熟的数据库产品是闭源同时也是收费的,但是oracle官网是不限制下载的(只要你有账号)一般的开发测试是没问题但是你如果来拿来商用而又不给oracle付费的话,肯定是被oracle强大的法务部门给狠刮一块肉(其实中国的国情大家都懂的,很多银行、*部门就算拿来用了没人说破oracle还不是睁一只眼闭一只眼)。
sql语法的不同,mysql较为灵活,oracle较为严格(具体就是单引号,分页的处理,主键的自动增长),这里涉及的内容太多网上的资料也很多,我就不写了。
对于事务的支持。这一点也是大家经常说到的,mysql对于事务默认是不支持的,只有某些存储引擎中如:innodb可以支持。而oracle对于事务是完全支持,不管是oltp还是olat都是支持的。
mysql是单进程多线程,oracle是多进程(在windows下也是单进程)。具体的例子就是windows操作和linux操作系统的区别,windows下只能使用一个用户,或者你可以在不同用户之间做切换,而linux是多用户或者相同用户可以同时连接操作系统,其实这一点也就引发了下面这点的不同。
数据库和实例以及用户之间的关系。我们知道用户操作数据库不管mysql还是oracle都是通过实例来的,那么实例和数据库、数据库软件以及用户之间是什么关系呢?在mysql和oracle的情况下我们来分别讲解下:
首先mysql的实例是用户登录是系统分配给用户的,而用户必须是先在mysql中创建好,然后登陆用户mysql -u user_name -p然后使用show databases; 命令查看数据库,在使用 use database_name database; 选择数据库,这样才可以对数据库进行操作。简单的关系就是:instance > database
其次是oracle,oracle的实例是在创建数据库时就默认创建好的,而用户基于数据库实例,实例之间可以没有关系所以其中的用户也不尽相同,你登录不同的实例就相当于登录了不同的数据库,登陆的命令也能简单sqlplus user_name/password@ip:port/instance_name 其中可以把ip地址,端口号,实例名写在一个tns文件中取一个别名,登陆的时候输入这个别名就行了。简单的关系就是:instance = database
这就是我对于mysql和oracle区别的总结,如果以后我发现有什么其他的区别我会继续加上。
上一篇: iOS拍照后图片自动旋转90度的解决方法
下一篇: 上海自来水来自海上
推荐阅读
-
Java线程中sleep和wait的区别详细介绍
-
mysql幻读和不可重复读的区别介绍
-
介绍备份和还原MySQL数据的两种方法
-
h5和html的区别有哪些(2者特点分析及区别介绍)
-
PHP函数addslashes和mysql_real_escape_string的区别
-
h5和html的区别有哪些(2者特点分析及区别介绍)
-
sqlserver中delete、update中使用表别名和oracle的区别
-
惠普hp8470p和HP8470W哪款好?8470p与8470w的区别介绍
-
Oracle与Mysql自动增长列(id)的区别
-
关于vue的npm run dev和npm run build的区别介绍