產(chǎn)品展示型的網(wǎng)站功能有哪些/網(wǎng)上推廣專員是什么意思
目錄
- 一、mysql架構(gòu)
- 二、存儲引擎
- 三、數(shù)據(jù)類型
一、mysql架構(gòu)
與其它數(shù)據(jù)庫相比,MySQL的架構(gòu)可以在多種不同場景中應(yīng)用并發(fā)揮良好作用。主要體現(xiàn)在存儲引擎的架構(gòu)上,插件式的存儲引擎架構(gòu)將查詢處理和其它的系統(tǒng)任務(wù)以及數(shù)據(jù)的存儲提取相分離,可以根據(jù)業(yè)務(wù)的需求和實際需要選擇合適的存儲引擎。
- 連接層:上層是客戶端和連接服務(wù)。主要完成一些類似于連接處理、授權(quán)認(rèn)證、及相關(guān)的安全方案。
- 服務(wù)層:主要完成大部分的核心服務(wù)功能, 包括查詢解析、分析、優(yōu)化、緩存、以及所有的內(nèi)置函數(shù),所有跨存儲引擎的功能也都在這一層實現(xiàn),包括觸發(fā)器、存儲過程、視圖等。
- 引擎層:存儲引擎真正的負(fù)責(zé)了MySQL中數(shù)據(jù)的存儲和提取,服務(wù)器通過API與存儲引擎進(jìn)行通信。
- 存儲層:要是將數(shù)據(jù)存儲在運(yùn)行于該設(shè)備的文件系統(tǒng)之上,并完成與存儲引擎的交互。
二、存儲引擎
- 概念:存儲引擎是MySQL的組件,用于處理不同表類型的SQL操作。
- 區(qū)別:不同的存儲引擎提供不同的存儲機(jī)制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以獲得特定的功能。
- 用處:一個數(shù)據(jù)庫中多個表可以使用不同引擎以滿足各種性能和實際需求。
- mysql:MySQL服務(wù)器使用可插拔的存儲引擎體系結(jié)構(gòu),可以從運(yùn)行中的 MySQL 服務(wù)器加載或卸載存儲引擎 。
- 常見引擎:InnoDB(MySQL默認(rèn))、MyISAM、Memory、NDB。
對比項 | MyISAM | InnoDB |
---|---|---|
主外鍵 | 不支持 | 支持 |
事務(wù) | 不支持 | 支持 |
行表鎖 | 表鎖,不適合高并發(fā)操作 | 行鎖,適合高并發(fā) |
緩存 | 緩存索引,不緩存真實數(shù)據(jù) | 緩存索引和數(shù)據(jù),對內(nèi)存要求高,內(nèi)存大小對性能有決定性影響 |
表空間 | 小 | 大 |
關(guān)注點(diǎn) | 性能 | 事務(wù) |
默認(rèn)安裝 | 是 | 是 |
三、數(shù)據(jù)類型
- 整數(shù)類型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT
- 浮點(diǎn)數(shù)類型:FLOAT、DOUBLE、DECIMAL
- 字符串類型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB
- 日期類型:Date、DateTime、TimeStamp、Time、Year
- 其他數(shù)據(jù)類型:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等
CHAR 和 VARCHAR 的區(qū)別?
- char是固定長度,varchar長度可變
- char不論實際存儲的字符數(shù)都會占用n個字符的空間
- 而varchar只會占用實際字符應(yīng)該占用的字節(jié)空間加1(實際長度length,0<=length<255)或加2(length>255).因為varchar保存數(shù)據(jù)時除了要保存字符串之外還會加一個字節(jié)來記錄長度(如果列聲明長度大于255則使用兩個字節(jié)來保存長度)。
- 存儲時,varchar回根據(jù)實際存儲的數(shù)據(jù)分配最終的存儲空間
- char(n),varchar(n)中的n都代表字符的個數(shù)
- 超過char,varchar最大長度n的限制后,字符串會被截斷。
- 存儲的最大空間限制不一樣:char的存儲上限為255字節(jié)。
- char在存儲時會截斷尾部的空格,而varchar不會。
- char是適合存儲很短的、一般固定長度的字符串
列的字符串類型可以是什么?
字符串類型是:SET、BLOB、ENUM、CHAR、TEXT、VARCHAR
BLOB和TEXT有什么區(qū)別?
- BLOB是一個二進(jìn)制對象,可以容納可變數(shù)量的數(shù)據(jù)。有四種類型的BLOB:TINYBLOB、BLOB、MEDIUMBLO和 LONGBLOB
- TEXT是一個不區(qū)分大小寫的BLOB。四種TEXT類型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。
- BLOB 保存二進(jìn)制數(shù)據(jù),TEXT 保存字符數(shù)據(jù)。