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