首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 基礎架構全景:安裝、數據類型、SQL 相容性、存儲過程、RI、安全體系

     編輯:MySQL 綜合教學

MySQL 核心特性與架構限制全覽

本文針對 MySQL 早期版本(4.x/5.0 時代)的核心能力與已知限制進行系統梳理,部分特性在 5.5/5.7/8.0 已大幅改進,請結合版本閱讀。

1. 安裝與資源佔用

  • 支援 RPM/DEB/TGZ 多種封裝;mysqld 守護進程極輕量:~500KB 私有記憶體 + 4MB 共享記憶體(Pentium 133/RedHat 5.1 實測)。
  • 僅在執行真實查詢時佔用 CPU,適合小型資料庫共存部署。
  • rc3.d 自動生成啟動腳本,多用戶模式自動拉起。

2. 數據類型體系

  • 標準整數、浮點、字串、日期時間、BLOB/TEXT 變長類型。
  • 整數支援 AUTO_INCREMENT;日期時間格式豐富。
  • 獨有類型:ENUM(單選枚舉,1 字節存儲)、SET(多選枚舉,位圖存儲)。善用 SET + FIND_IN_SET 可減少關聯表 Join,提升效能。

3. SQL 標準相容性

4. 參考完整性 (RI) 缺口與變通

  • 缺乏標準 FOREIGN KEY、CHECK CONSTRAINT、CASCADE DELETE(早期 MyISAM)。
  • 解析器容忍上述語法但不執行,僅為遷移相容。
  • 變通:UNIQUE INDEX 模擬唯一性;應用層維護關聯一致性;InnoDB 5.5+ 完整支援 FK。

5. 安全體系

  • 權限體系複雜非標準:GRANT/REVOKE 較晚支援;修改權限需 FLUSH PRIVILEGES 或重啟生效。
  • 學習曲線陡峭,文檔詳盡但需精讀。

版本演進提示

MySQL 5.5+:InnoDB 成預設引擎、完整 FK/事務/行鎖。
MySQL 5.7:JSON、GIS、Generated Columns、CCTE。
MySQL 8.0:窗口函數、CTE、角色、utf8mb4 預設、即時 DDL。

早期版本限制多為「功能缺失」,現代版本已補齊主流企業級特性。選型時以業務需求對齊版本能力矩陣。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
特性支援情況備註
大小寫不敏感搜尋✅ 原生支援非標準擴展
用戶自定義函數 (UDF)✅ 支援編譯為 .so,LOAD FUNCTION 載入
子查詢❌ 早期不支援5.1+ 已支援;可用 JOIN 重寫
視圖❌ 早期不支援5.1+ 已支援
存儲過程❌ 早期無5.0+ 引入
觸發器❌ 早期無5.0+ 引入