【数据库】数据库表名、字段名的命名长度限制及三大数据库的区别

文章目录

    • 长度限制
    • 三大数据库的选用
      • sql语句的灵活性
      • 保存数据的持久性
      • 提交方式
      • 对事务的支持
      • 对并发性的支持
      • 逻辑备份
      • 复制备份
      • 性能诊断
      • 权限与安全
      • 相关服务
      • 总结得出
    • 引用

长度限制

数据库            

表名长度限制 

字段名长度限制  

oracle

30

30

mysql

64

64

db2

128

128

access

64

64

sqlserver

128

128

三大数据库的选用

sql语句的灵活性

MySQL对sql语句更灵活,比如:limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from;
oracle对sql语句的感觉更加稳重传统一些;
SqlServer对sql语句那绝了,两个成语概括:脚踏实地,步步为营;

保存数据的持久性

MySQL是在数据库更新或者重启,则会丢失数据;
Oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,可以随时恢复;
SqlServer从2014之后,也拥有了完全持久和延迟持久特性;

提交方式

MySQL默认是自动提交(变量autocommit为ON);
oracle默认不自动提交,需要用户手动提交(commit);
SqlServer默认是自动提交,用户可手动停止(KILL);

对事务的支持

MySQL在innodb存储引擎的行级锁的情况下才可支持事务;
Oracle则完全支持事务;
SqlServer在非自动提交时才可支持事务;

对并发性的支持

MySQL以表级锁(行级锁依赖于表索引)为主,如果一个session的加锁时间过长,会让其他session无法更新此表中的数据,即“悲观并发控制”;
Oracle使用行级锁,对资源锁定的粒度要小很多,并且不依赖索引,对并发性的支持要好很多,即“乐观并发控制”;
SqlServer在表、表的分页、索引键以及单独的数据行上支配共享锁、排它锁、以及更新锁,简单地说:读取时用共享锁,修改时用排它锁,更新锁则是共享锁和排他锁的一种混合;

逻辑备份

MySQL逻辑备份时要锁定数据,才能保证备份的数据是一致的,会影响正常业务;
Oracle逻辑备份时不锁定数据,且备份的数据是一致;
SqlServer逻辑备份时要锁定数据,才能保证备份的数据是一致的,会影响正常业务;

复制备份

MySQL复制服务器配置简单,但主库出问题时,丛库有可能丢失一定的数据;
Oracle既有推或拉式的传统数据复制,也有dataguard的双机或多机容灾机制,还有成熟的热备工具rman,主库出现问题时,可以自动切换备库到主库,但配置管理较复杂;
SqlServer的仅复制备份是独立于常规SQL Server备份序列的SQL Server备份。通常,进行备份会更改数据库并影响其后备份的还原方式。只用于:在不影响数据库总体备份和还原过程的情况下,为特殊目的而进行的备份。

性能诊断

MySQL的诊断调优方法较少,主要有慢查询日志;
Oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。比如awr、addm、sqltrace、tkproof等;
SqlServer性能检测工具有sql server profiler,性能调优工具有数据库引擎优化顾问,简单好用还炫酷;

权限与安全

MySQL的用户与主机有关,更容易被仿冒主机及ip,有可乘之机,没什么意义;
Oracle的用户和root用户权限彼此分离,权限与安全概念比较传统,中规中矩;
SqlServer本机可用windows验证登录,远程则用SqlServer验证登录(即sa登录);

相关服务

MySQL是轻量型数据库,并且免费开源,没有服务恢复数据;
Oracle是重量型数据库,收费,Oracle公司对Oracle数据库有任何服务;
SqlServer是重量型数据库,收费(与Java有合作),也有支持供应商;

总结得出

MySQL优点:体积小、速度快、总体拥有成本低,开放源码,搭配“L(Linux)A(Apache)M(MySQL)P(PHP/Perl/Python)“或“LN(Nginx)MP”就可以建立起一个稳定、免费的网站系统,适合中小型网站。
 
Oracle优点:使用方便、功能强大,可靠性好、安全性好、可移植性好、适应高吞吐量,适用于各类大、中、小、微机环境。
 
SqlServer优点:图形化用户界面,丰富的编程接口工具,与Windows NT完全集成,支持分布式的分区视图,适用于Win的Web技术的开发。

引用

MySQL、Oracle、SqlServer的区别

没有粉丝,没有评论,甚至连读者都没有。因为自己写的烂,因为自己水平有限,所以自己的作品一经发出就石沉大海了,得不到任何的回信,就好像自己写的东西是给自己看的。自己的作品怎么看都好像不够完美,全身的毛病,所以读者不喜欢也很正常对吧!

其实最让我开心的是有些读者们夸我文笔不错,或许是有人第一次这样夸我的缘故吧!又或许是我写的东西没什么人认可,我感受到了一种前所未有的激动,对于未来的憧憬,对自己写下去的动力。

因为有你们,我的写作之路才不孤独,因为有你们,我才能坚持到现在,如果有一天我真的写出圈了,或许我们可以整个交流会之类的,到时候促膝长谈。

“书山有路勤为径,学海无涯苦作舟。”写作苦是苦了点,整得我差点就想放弃了,不过还好有你们。我也不急着成功,因为没有个几十年如一日的坚持,哪能轻易成功?

茫茫文海无人意,天下有君识吾心。文海很孤独,但是有诸君,便足以令我至千里。

你可能感兴趣的:(#,数据库,数据库,database,sql)