首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 核心特性總覽:多執行緒、跨平台、儲存引擎、SQL 標準、連接器、效能優化

     編輯:MySQL 資料庫相關知識

官方文件列舉的 MySQL 核心特性完整清單,涵蓋架構、SQL 功能、儲存引擎、連接器、字元集、管理工具等 40+ 項目。

架構與平台

  • 核心多執行緒,自動利用多 CPU
  • C/C++/Eiffel/Java/Perl/PHP/Python/Tcl API
  • 支援 20+ 作業系統 (Linux/Unix/Windows/Mac/OS/2...)

資料類型 (多達 10 類)

  • 數值:TINYINT/SMALLINT/MEDIUMINT/INT/BIGINT (UNSIGNED)、FLOAT/DOUBLE/DECIMAL
  • 字串:CHAR/VARCHAR、TINYTEXT/TEXT/MEDIUMTEXT/LONGTEXT、TINYBLOB/BLOB/MEDIUMBLOB/LONGBLOB
  • 日期時間:DATE/TIME/DATETIME/TIMESTAMP/YEAR
  • 集合:SET (64值)、ENUM (65535值)

SQL 功能亮點

  • 單掃描多重聯結 (One-sweep multi-join) 極速 JOIN
  • SELECT/WHERE 完整運算子與函數支援 (如 CONCAT、算術、比較、邏輯)
  • 高度優化類別庫實作 SQL 函數,查詢初始化後零記憶體分配
  • 完整 GROUP BY/ORDER BY + 聚合函數 (COUNT/DISTINCT/AVG/STD/SUM/MAX/MIN)
  • LEFT OUTER JOIN (ANSI SQL + ODBC 語法)
  • 跨資料庫查詢:SELECT * FROM db1.t1, db2.t2

安全與權限

  • 靈活安全的權限/密碼系統,基於主機認證
  • 連線時密碼加密傳輸
  • Win32 ODBC 2.5 完整支援 (可用 Access 連線)

索引與儲存

  • B-tree 索引支援壓縮
  • 每表 ≤ 16 個索引,每索引 ≤ 16 欄位/前綴,最大 256 Bytes (可編譯調整)
  • 索引可用 CHAR/VARCHAR 前綴
  • 固定/可變長度記錄
  • 記憶體雜湊表作臨時表
  • 大資料庫支援:50M+ 列實戰
  • 所有欄位有預設值,INSERT 可只給子集

工具與國際化

  • GNU Automake/Autoconf/Libtool 可移植建構
  • C/C++ 多編譯器測試、快速記憶體分配器、無記憶體洩漏 (Purify 驗證)
  • myisamchk:檢查/優化/修復表的快速工具
  • 完整 ISO-8859-1 Latin1 支援,斯堪的納維亞字元可用於識別符
  • 資料以 Latin1 儲存,比較預設忽略大小寫
  • 依 Latin1 排序 (瑞典規則),可擴充排序陣列 (如捷克語)
  • 編譯時可指定多種字元集

SQL 標準相容

  • 表/欄位別名符合 SQL92
  • DELETE/INSERT/REPLACE/UPDATE 回傳影響列數
  • 函數名不與表/欄位衝突
  • 多語言錯誤訊息

連接協定

  • TCP/IP、Unix Socket、NT Named Pipe

診斷命令

  • SHOW:資料庫/表/索引/狀態/變數/程序/權限...
  • EXPLAIN:查詢執行計畫分析

結語

這份特性清單展現 MySQL 作為輕量、高效、跨平台、標準相容關係資料庫的設計哲學。雖版本迭代 (文件約 3.23/4.0 時代),但核心基因 —— 多執行緒、B-tree、單掃描 JOIN、基於主機的權限、EXPLAIN/SHOW 診斷 —— 持續傳承至 MySQL 8.0 及 MariaDB/Percona 分支。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved