简单来说,SQLite功能简单,小型化,追求磁盘效率最大化;MYSQL功能全面,集成度高,追求并发效率最大化。如果只是在单机上使用,数据量不是很大,需要方便移植或者需要频繁读写磁盘文件,用SQLite比较合适;如果是满足多个用户同时访问,或者网站访问量大,还是用MYSQL比较合适。下面详细介绍两者的区别和应用:SQLiteSQLite是一种特殊的数据库,可以在使用它的应用程序中使用。作为一个独立的、基于文件的数据库,SQLite提供了一个优秀的工具集来处理几乎没有限制的所有类型的数据,并且比运行服务器的基于进程的服务器更容易使用。当应用程序使用SQLite时,其功能直接集成在其中,应用程序将直接访问包含数据的文件(即SQLite数据库),而不是通过一些端口(端口、套接字)进行交互。得益于这种底层技术,SQLite非常快速高效,而且非常强大。SQLiteNULL支持的数据类型:NULL值。INTEGER:有符号整数,根据设置存储在1、2、3、4、6或8个字节中。REAL:浮点数,以8字节IEEE浮点数方式存储。TEXT:文本字符串,使用数据库编码(UTF-8、UTF-16BE或UTF-16LE)存储。BLOB:二进制大对象,可以在输入时存储。注意:有关SQLite数据类型的更多信息,请查看有关该主题的官方文档。SQLite的优势在于它是基于文件的:整个数据库都包含在磁盘上的单个文件中,因此它非常便携。标准化:虽然它看起来像一个“简化”的数据库,但SQLite确实支持SQL。它省略了一些功能(RIGHTOUTERJOIN和FOREACHSTATEMENT),但同时添加了一些其他功能。非常适合开发甚至测试:在大多数应用程序的开发阶段,大多数人确实需要解决方案中并发的灵活性。SQLite具有丰富的功能库,提供的不仅仅是开发所需,而且非常紧凑,只需要一个文件和一个C链接库。SQLite的缺点是没有用户管理:高级数据库可以支持用户系统,例如可以管理数据库连接访问数据库和表的权限。但是,由于SQLite的目的和性质(没有多用户并发的高层设计),它没有这个功能。缺乏额外性能优化的灵活性:仍然从设计之初,SQLite就不支持使用各种技巧来进行额外的性能优化。这个库易于配置和使用。由于它并不复杂,理论上没有办法让它比现在更快。什么时候使用SQLite?嵌入式应用程序:所有需要可移植性,不需要扩展的应用程序,如单用户原生应用程序、移动应用程序和游戏。代替磁盘访问:在很多情况下,需要频繁直接读写磁盘文件的应用程序适合切换到SQLite,它可以受益于SQLite使用SQL带来的功能和简单性。测试:可以干掉大部分专门针对应用业务逻辑(即应用的主要目的:完成功能)的测试。什么时候不使用SQLite?多用户应用:如果你开发的应用需要被多个用户访问,而这些用户都使用同一个数据库,那么选择功能齐全的关系型数据库(如MySQL)比选择SQLite更好。需要大面积写数据的应用:SQLite的缺点之一就是它的写操作。这个数据库一次只允许一个写操作,所以吞吐量是有限的。MySQLMySQL是所有大型数据库服务器中最受欢迎的。该产品的功能丰富、开源特性使其能够驱动大量网站和应用在线。MySQL入门比较简单,开发者可以在网上查阅到大量的相关数据库。有关此数据库的信息。注:由于该产品的普及,大量的第三方应用、工具和集成库对操作该RDBCMS的各个方面都有很大的帮助。Mysql并不试图实现所有的SQL标准,而是为用户提供了很多有用的特性。作为独立的数据库服务器,应用程序与Mysql守护程序交互,告诉它访问数据库本身——与SQLite不同。MySQL支持数据类型TINYINT:一个非常小的整数。SMALLINT:一个小整数。MEDIUMINT:一个中等大小的整数。INT或INTEGER:一个正常大小的整数。BIGINT:一个大整数。FLOAT:一个小的(单精度)浮点数,不能是无符号的。DOUBLE,DOUBLEPRECISION,REAL:正常大小(双精度)的浮点数,不能无符号。DECIMAL、NUMERIC:未压缩的浮点数。不能使用未签名的。日期:日期。DATETIME:日期和时间的组合。TIMESTAMP:时间戳。时间:一次。YEAR:以两位或四位格式表示的年份(默认为4位)。CHAR:定长字符串,存储时始终在其定长空间右对齐。VARCHAR:可变长度的字符串。TINYBLOB、TINYTEXT:BLOB或TEXT列,最大长度为255(2^8-1)个字符。BLOB、TEXT:最大长度为65535(2^16-1)个字符的BLOB或TEXT列。MEDIUMBLOB、MEDIUMTEXT:最大长度为16777215(2^24-1)个字符的BLOB或TEXT列。LONGBLOB、LONGTEXT:最大长度为4294967295(2^32-1)个字符的BLOB或TEXT列。ENUM:枚举类型。SET:一个集合。MySQL的优点易于使用:安装MySQL非常容易。第三方库,包括那些可视化的库(即具有GUI的库),使开始使用数据库变得非常容易。功能丰富:MySQL支持关系数据库应具有的大部分SQL功能——有些是直接的,有些是间接的。安全性:MYSQL有许多安全特性,其中一些是相当高级的。灵活而强大:MySQL可以处理大量数据,如果需要,它还可以“适应”任何大小的数据。快速:放弃对某些标准的支持可以让MySQL更高效,使用快捷方式,从而带来速度的提升。MySQL的缺点已知的局限性:从设计之初,MySQL就没有打算无所不知,所以它有一些功能上的局限性,不能满足一些顶级应用的需求。可靠性问题:MySQL实现某些特性(例如,引用、事务、数据审计等)的方式使它的可靠性略低于其他一些关系数据库。发展停滞:虽然MySQL在理论上仍是一个开源产品,但也有人抱怨它诞生后更新缓慢。然而,应该注意的是,有一些基于MySQL的完全集成的数据库(例如MariaDB),它们在标准MySQL之上带来了额外的价值。什么时候使用MySQL?分布式操作:当SQLite提供的功能不能满足您的需求时,将MySQL包括到您的部署堆栈中,就像任何独立的数据库服务器一样,会带来很大的操作自由度和一些高级功能。高安全性:MySQL的安全特性以简单的方式为数据访问(和使用)提供可靠的保护。网站和Web应用程序:绝大多数网站(和Web应用程序)都可以不受限制地使用MySQL。这种灵活且可扩展的工具易于使用和管理-从长远来看,这已被证明是非常有帮助的。自定义解决方案:如果您使用高度定制的解决方案,MySQL可以轻松地调整和执行您的规则,这要归功于其丰富的配置设置和操作模式。什么时候不使用MySQL?SQL合规性:由于MySQL不[想要]实现SQL的完整标准,因此该工具不完全符合SQL。如果需要与这样的关系型数据库管理系统集成,从MySQL切换过来并不容易。并发性:尽管MySQL和一些存储引擎可以很好地执行读操作,但并发读写仍然存在问题。缺少功能:同样,根据数据库引擎选择标准,MySQL可能缺少某些功能,例如全文搜索。关于SQLite和MySQL的区别和优缺点的文章到此结束。希望对大家的学习有所帮助,也希望大家多多支持服务器之家。原文链接:https://blog.csdn.net/qq_31930499/article/details/80420246
