优点:
体积小、速度快、总体拥有成本低,开源;
支持多种 *** 作系统;
是开源数据库,提供的接口支持多种语言连接 *** 作 ;
MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的mysql能很容易充分利用CPU;
MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证;
支持ODBC for Windows, 支持所有的ODBC 2.5函数和其他许多函数, 可以用Access连接MySql服务器, 使得应用被扩展;
支持大型的数据库, 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可以针对不同的应用进行相应的修改;
拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性;
MySQL同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端 *** 作,网页浏览器,以及各式各样的程序语言介面,例如C+,Perl,Java,PHP,以及Python。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL可用于Unix,Windows,以及OS/2等平台,因此它可以用在个人电脑或者是服务器上。
缺点:
不支持热备份;
MySQL最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变;
没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制;
MySQL的价格随平台和安装方式变化。Linux的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案则必须付许可费。Unix或linux 自行安装 免费 、Unix或Linux 第三方安装 收费。
mssql就是sqlserver
优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等;
缺点:只能运行在微软的windows平台,没有丝毫的开放性可言;
mysql
优点:轻量级,部署方便,开源,免费(技术服务是要收费的),除此之外,mysql几乎拥有了oracle提供的大部分功能,能够承载绝大多数的应用,最关键的是mysql可以根据不同应用定制自己的数据库,因为mysql的存储引擎是插件式的。
缺点:面对高并发,海量数据,需要严谨的数据库架构设计,否则性能会存在问题;
oracle
优点:之所以能在数据库市场独占鳌头,就是因为对海量数据处理的时候所表现出的性能和稳定,完善的灾难备份机制,所以一般企业的核心数据首选是oracle。
缺点:对于非DBA来说,安装oracle是一件很恐怖的事情,部署需要一定专业知识;而且oracle的收费也不是一般企业能承受的住的;
----------------------
以上仅为个人的理解,供参考
雪花算法与Mysql自增的优缺点分别是:
雪花算法优点是:
1、不会重复。
2、有序,不会造成空间浪费和胡乱插入影响性能。
3、生成很快特别是比UUid快得多。
4、相比UUid更小。
缺点是:时间回拨造成错乱。
Mysql自增的优点是:
1、存储空间小。
2、插入和查询性能高。
缺点是:
1、int的范围可能不够大。
2、当要做数据迁移的时候,会很麻烦,主键容易冲突。
3、id自增,自身的业务增长情况很容易被别人掌握。
4、自增在高并发的情况下性能不好。
生成id的代码是:
自增和UUid差异的原因是:mysql数据库一般我们会采用支持事务的Innodb,在Innodb中,采用的是B+数索引。Innodb的存储结构,是聚簇索引。对于聚簇索引顺序主键和随机主键的对效率的影响很大。
自增是顺序主键存储,查找和插入都很方便(插入会按顺序插到前一个的后面),但UUid是无序的,通过计算获得的hashcode也会是无序的(是按照hashcode选择存储位置)。
所以对于他的查找效率很低,而且因为他是无序的,他的插入有可能会插到前面的数据中,会造成很多其他的 *** 作,很影响性能或者很多存储空间因为没有顺序的存储而被空缺浪费。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)