欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQLite與MySQL區(qū)別及優(yōu)缺點介紹

 更新時間:2022年01月10日 11:04:24   作者:Tw!light  
這篇文章介紹了SQLite與MySQL的區(qū)別及優(yōu)缺點,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

簡單來說,SQLITE功能簡約,小型化,追求最大磁盤效率;MYSQL功能全面,綜合化,追求最大并發(fā)效率。如果只是單機(jī)上用的,數(shù)據(jù)量不是很大,需要方便移植或者需要頻繁讀/寫磁盤文件的話,就用SQLite比較合適;如果是要滿足多用戶同時訪問,或者是網(wǎng)站訪問量比較大是使用MYSQL比較合適。

下面詳細(xì)介紹兩者的區(qū)別和應(yīng)用:

SQLite

SQLite是非凡的數(shù)據(jù)庫,他可以進(jìn)程在使用它的應(yīng)用中。作為一個自包含、基于文件的數(shù)據(jù)庫,SQLite提供了出色的工具集,可以處理所有類型的數(shù)據(jù),沒有什么限制,而且比起服務(wù)器運(yùn)行的進(jìn)程型服務(wù)器使用起來輕松許多。

一個應(yīng)用使用SQLite時,它的功能直接被集成在其中,應(yīng)用會直接訪問包含數(shù)據(jù)的文件(即SQLite數(shù)據(jù)庫),而不是通過一些端口(port, socket)來交互。感謝這種底層技術(shù),這使SQLite變得非??焖俸透咝?,并且十分強(qiáng)大。

SQLite支持的數(shù)據(jù)類型

  • NULL:

NULL值。

  • INTEGER:

有符號整數(shù),按照設(shè)置用1、2、3、4、6或8字節(jié)存儲。

  • REAL:

浮點數(shù),使用8字節(jié)IEEE浮點數(shù)方式存儲。

  • TEXT:

文本字符串,使用數(shù)據(jù)庫編碼存儲(UTF-8, UTF-16BE 或 UTF-16LE)。

  • BLOB:

二進(jìn)制大對象,怎么輸入就怎么存儲。

注: 想了解更多有關(guān)SQLite數(shù)據(jù)類型的信息,可以查看這一主題的 官方文檔 。

SQLite 的優(yōu)點

  • 基于文件:

整個數(shù)據(jù)庫都包含在磁盤上的一個文件中,因此它有很好的遷移性。

  • 標(biāo)準(zhǔn)化:

盡管它看起來像個“簡化版”的數(shù)據(jù)庫,SQLite 確實支持 SQL。它略去了一些功能(RIGHT OUTER JOIN 和 FOR EACH STATEMENT),但是,又同時增加了一些其他功能。

  • 對開發(fā)乃至測試都很棒:

在絕大多數(shù)應(yīng)用的開發(fā)階段中,大部分人都非常需要解決方案能有并發(fā)的靈活性。SQLite 含有豐富功能基礎(chǔ),所能提供的超乎開發(fā)所需,并且簡潔到只需一個文件和一個 C 鏈接庫。

SQLite的缺點

  • 沒有用戶管理:

高級數(shù)據(jù)庫都能支持用戶系統(tǒng),例如,能管理數(shù)據(jù)庫連接對數(shù)據(jù)庫和表的訪問權(quán)限。但由于 SQLite 產(chǎn)生的目的和本身性質(zhì)(沒有多用戶并發(fā)的高層設(shè)計),它沒有這個功能。

  • 缺乏額外優(yōu)化性能的靈活性:

仍然是從設(shè)計之初,SQLite 就不支持使用各種技巧來進(jìn)行額外的性能優(yōu)化。這個庫容易配置,容易使用。既然它并不復(fù)雜,理論上就無法讓它比現(xiàn)在更快,其實現(xiàn)在它已經(jīng)很快了。

何時使用 SQLite ?

  • 嵌入式應(yīng)用:

所有需要遷移性,不需要擴(kuò)展的應(yīng)用,例如,單用戶的本地應(yīng)用,移動應(yīng)用和游戲。

  • 代替磁盤訪問:

在很多情況下,需要頻繁直接讀/寫磁盤文件的應(yīng)用,都很適合轉(zhuǎn)為使用 SQLite ,可以得益于 SQLite 使用 SQL 帶來的功能性和簡潔性。

  • 測試:

它能秒殺大部分專門針對應(yīng)用業(yè)務(wù)邏輯(也就是應(yīng)用的主要目的:能完成功能)的測試。

何時不用 SQLite ?

  • 多用戶應(yīng)用:

如果你在開發(fā)的應(yīng)用需要被多用戶訪問,而且這些用戶都用同一個數(shù)據(jù)庫,那么相比 SQLite 最好還是選擇一個功能完整的關(guān)系型數(shù)據(jù)庫(例如 MySQL)。

  • 需要大面積寫入數(shù)據(jù)的應(yīng)用:

SQLite 的缺陷之一是它的寫入操作。這個數(shù)據(jù)庫同一時間只允許一個寫操作,因此吞吐量有限。

MySQL

MySQL 在所有大型數(shù)據(jù)庫服務(wù)器中最流行的一個. 它的特性豐富,產(chǎn)品的開源性質(zhì)使得其驅(qū)動了線上大量的網(wǎng)站和應(yīng)用程序. 要入手 MySQL 相對簡單,開發(fā)人員可以在互聯(lián)網(wǎng)上面訪問到大量有關(guān)這個數(shù)據(jù)庫的信息.

注意: 由于這個產(chǎn)品的普及性,大量的第三方應(yīng)用、工具和集成庫對于操作這個RDBCMS的方方面面大有幫助.

Mysql沒有嘗試去實現(xiàn)SQL標(biāo)準(zhǔn)的全部,而是為用戶提供了很多有用的功能. 作為一個獨立的數(shù)據(jù)庫服務(wù)器,應(yīng)用程序同Mysql守護(hù)進(jìn)程的交互,告訴它去訪問數(shù)據(jù)庫自身 -- 這一點不像 SQLite.

MySQL支持的數(shù)據(jù)類型

  • TINYINT:

一個非常小的整數(shù).

  • SMALLINT:

一個小整數(shù).

  • MEDIUMINT:

一個中間大小的整數(shù).

  • INT or INTEGER:

一個正常大小的整數(shù).

  • BIGINT:

一個大的整數(shù).

  • FLOAT:

一個小的 (單精度) 浮點數(shù),不能是無符號的那種.

  • DOUBLE, DOUBLE PRECISION, REAL:

一個正常大小 (雙精度) 的浮點數(shù),不能使無符號的那種.

  • DECIMAL, NUMERIC:

沒有被包裝的浮點數(shù)。不能使無符號的那種.

  • DATE:

一個日期.

  • DATETIME:

一個日期和時間的組合.

  • TIMESTAMP:

一個時間戳.

  • TIME:

一個時間.

  • YEAR:

一個用兩位或者4位數(shù)字格式表示的年份(默認(rèn)是4位).

  • CHAR:

一個固定長度的字符串,存儲時總是在其固定長度的空間里右對齊.

  • VARCHAR:

一個可變長度的字符串.

  • TINYBLOB, TINYTEXT:

一個BLOB或者TEXT列,最大長度255 (2^8 - 1)個字符.

  • BLOB, TEXT:

一個BLOB或者TEXT列,最大長度 65535 (2^16 - 1)個字符.

  • MEDIUMBLOB, MEDIUMTEXT:

一個BLOB或者TEXT列,最大長度 16777215 (2^24 - 1)個字符.

  • LONGBLOB, LONGTEXT:

一個BLOB或者TEXT列,最大長度4294967295 (2^32 - 1) 個字符.

  • ENUM:

一個枚舉類型.

  • SET:

一個集合.

MySQL的優(yōu)點

  • 容易使用:

安裝MySQL非常容易。第三方庫,包括可視化(也就是有GUI)的庫讓上手使用數(shù)據(jù)庫非常簡單。

  • 功能豐富:

MySQL 支持大部分關(guān)系型數(shù)據(jù)庫應(yīng)該有的 SQL 功能——有些直接支持,有些間接支持。

  • 安全:

MYSQL 有很多安全特性,其中有些相當(dāng)高級。

  • 靈活而強(qiáng)大:

MySQL 能處理很多數(shù)據(jù),此外如有需要,它還能“適應(yīng)”各種規(guī)模的數(shù)據(jù)。

  • 快速:

放棄支持某些標(biāo)準(zhǔn),讓 MySQL 效率更高并能使用捷徑,因此帶來速度的提升。

MySQL的缺點

  • 已知的局限:

從設(shè)計之初,MySQL 就沒打算做到全知全能,因此它有一些功能局限,無法滿足某些頂尖水平應(yīng)用的需求。

  • 可靠性問題:

MySQL 對于某些功能的實現(xiàn)方式(例如,引用,事務(wù),數(shù)據(jù)審核等) 使得它比其他一些關(guān)系型數(shù)據(jù)庫略少了一些可靠性。

  • 開發(fā)停滯:

盡管 MySQL 理論上仍是開源產(chǎn)品,也有人抱怨它誕生之后更新緩慢。然而,應(yīng)該注意到有一些基于 MySQL 并完整集成的數(shù)據(jù)庫(如 MariaDB),在標(biāo)準(zhǔn)的 MySQL 基礎(chǔ)上帶來了額外價值。

何時使用 MySQL?

  • 分布式操作:

當(dāng)SQLite所提供的不能滿足你的需要時,可以把MySQL包括進(jìn)你的部署棧,就像任何一個獨立的數(shù)據(jù)庫服務(wù)器,它會帶來大量的操作自由性和一些先進(jìn)的功能。

  • 高安全性:

MySQL的安全功能,用一種簡單的方式為數(shù)據(jù)訪問(和使用)提供了可靠的保護(hù)。

  • Web網(wǎng)站 和 Web應(yīng)用:

絕大多數(shù)的網(wǎng)站(和Web應(yīng)用程序)可以忽視約束性地簡單工作在MySQL上。這種靈活的和可擴(kuò)展的工具是易于使用和易于管理的——這被證明非常有助于長期運(yùn)行。

  • 定制解決方案:

如果你工作在一個高度量身定制的解決方案上,MySQL能夠很容易地尾隨和執(zhí)行你的規(guī)則,這要感謝其豐富的配置設(shè)置和操作模式。

何時不用 MySQL?

  • SQL 服從性:

因為 MySQL 沒有[想要]實現(xiàn) SQL 的全部標(biāo)準(zhǔn),所以這個工具不完全符合SQL。如果你需要對這樣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)進(jìn)行整合,從MySQL進(jìn)行切換是不容易的。

  • 并發(fā):

即使MySQL和一些存儲引擎能夠真地很好執(zhí)行讀取操作,但并發(fā)讀寫還是有問題的。

  • 缺乏特色:

再次提及,根據(jù)數(shù)據(jù)庫引擎的選擇標(biāo)準(zhǔn),MySQL會缺乏一定的特性,如全文搜索。

到此這篇關(guān)于SQLite與MySQL區(qū)別及優(yōu)缺點介紹的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • InnoDB主鍵索引樹和二級索引樹的場景分析

    InnoDB主鍵索引樹和二級索引樹的場景分析

    本文通過場景分析給大家介紹了InnoDB主鍵索引樹和二級索引樹的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • SQL注入篇學(xué)習(xí)之盲注/寬字節(jié)注入

    SQL注入篇學(xué)習(xí)之盲注/寬字節(jié)注入

    盲注是注入的一種,指的是在不知道數(shù)據(jù)庫返回值的情況下對數(shù)據(jù)中的內(nèi)容進(jìn)行猜測,實施SQL注入,下面這篇文章主要給大家介紹了關(guān)于SQL注入篇之盲注/寬字節(jié)注入的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Navicat 導(dǎo)出導(dǎo)入數(shù)據(jù)庫的實現(xiàn)方法

    Navicat 導(dǎo)出導(dǎo)入數(shù)據(jù)庫的實現(xiàn)方法

    這篇文章主要介紹了Navicat 導(dǎo)出導(dǎo)入數(shù)據(jù)庫的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • SQL注入滲透測試以及護(hù)網(wǎng)面試題和解答總結(jié)

    SQL注入滲透測試以及護(hù)網(wǎng)面試題和解答總結(jié)

    現(xiàn)在SQL注入仍然是最流行的攻擊方法之一,開發(fā)人員為此頭疼,下面這篇文章主要給大家介紹了關(guān)于SQL注入滲透測試以及護(hù)網(wǎng)面試題和解答的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • SQL注入教程之報錯注入

    SQL注入教程之報錯注入

    頁面沒有顯示位,但有數(shù)據(jù)庫的報錯信息時,可使用報錯注入,下面這篇文章主要給大家介紹了關(guān)于SQL報錯注入的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • sqlserver和oracle中對datetime進(jìn)行條件查詢的一點區(qū)別小結(jié)

    sqlserver和oracle中對datetime進(jìn)行條件查詢的一點區(qū)別小結(jié)

    系統(tǒng)中涉及公文列表的部分,需要支持對時間列的搜索功能,但必須要同時支持sqlserver和oracle兩種數(shù)據(jù)庫,而這在這兩種數(shù)據(jù)庫中編寫查詢語句的時候有一些不大一樣的地方,無法實現(xiàn)一條語句實現(xiàn)兩個數(shù)據(jù)庫的正常查詢,所以需要做一些調(diào)整。
    2009-06-06
  • 淺談數(shù)據(jù)庫索引的作用及原理

    淺談數(shù)據(jù)庫索引的作用及原理

    這篇文章主要介紹了淺談數(shù)據(jù)庫索引的作用及原理的相關(guān)內(nèi)容,涉及索引加速和加索引的時間等,希望通過這篇文章讓大家對索引有一個初步的了解,需要的朋友可以參考下。
    2017-09-09
  • 站內(nèi)群發(fā)消息三種不同用戶量的數(shù)據(jù)庫設(shè)計

    站內(nèi)群發(fā)消息三種不同用戶量的數(shù)據(jù)庫設(shè)計

    很多SNS網(wǎng)站和一部分CMS網(wǎng)站都廣泛地應(yīng)用了站內(nèi)信這一模塊,這個看似簡單的東西其實背后隱藏著很多需要設(shè)計師重視的設(shè)計細(xì)節(jié),要做好這個“郵遞員”是很不容易的,本文講述站內(nèi)群發(fā)消息三種不同用戶量的數(shù)據(jù)庫設(shè)計,逐漸設(shè)計一個百萬級用戶量的站內(nèi)信群發(fā)數(shù)據(jù)庫
    2023-12-12
  • Doris Join 優(yōu)化原理文檔詳解

    Doris Join 優(yōu)化原理文檔詳解

    這篇文章主要為大家介紹了Doris Join 優(yōu)化原理文檔詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 錯誤代碼:1100 Table ''t_depart_info'' was not locked with LOCK TABLES的解決方法

    錯誤代碼:1100 Table ''t_depart_info'' was not locked with LOCK T

    這篇文章就是告訴大家如何解決錯誤代碼:1100 Table 't_depart_info' was not locked with LOCK TABLES,遇到類似問題的朋友可以參考一下
    2015-10-10

最新評論