
MySQL 是一個關聯式資料庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下產品。MySQL 是最流行的關聯式資料庫管理系統之一,在 Web 應用方面,MySQL 是最好的 RDBMS 應用軟體。MySQL 是一種關聯式資料庫管理系統,關聯式資料庫將資料保存於不同的資料表中,而非將所有資料置於一個大型儲存空間,如此一來便能提升速度與靈活性。MySQL 所使用的 SQL 語言是最常用於存取資料庫的標準化語言。MySQL 軟體採用雙授權政策,分為社群版與商業版,由於其體積小、速度快、總體擁有成本低,特別是開放原始碼的特性,一般中小型網站的開發皆選擇 MySQL 作為網站資料庫。因其社群版效能卓越,搭配 PHP 與 Apache 可組成良好的開發環境。
1. MySQL 8.0 功能介紹
1.限制
若 WHERE 子句的查詢條件包含不等號(WHERE coloum !=),MySQL 將無法使用索引。類似地,若 WHERE 子句的查詢條件使用了函數(WHERE DAY(column) =),MySQL 也無法使用索引。在 JOIN 操作中(需從多個資料表提取資料時),MySQL 僅在主鍵與外鍵的資料型別相同時才能使用索引。若 WHERE 子句的查詢條件使用比較運算子 LIKE 與 REGEXP,MySQL 僅在搜尋模板的第一個字元不是萬用字元的情況下才能使用索引。例如,若查詢條件為 LIKE 'abc%',MySQL 將使用索引;若查詢條件為 LIKE '%abc',MySQL 則不使用索引。在 ORDER BY 操作中,MySQL 僅在排序條件不是一個查詢條件表達式時才使用索引。(儘管如此,在涉及多個資料表的查詢中,即使有索引可用,這些索引在加速 ORDER BY 方面的效果也不大。)若某資料列包含許多重複的值,即使為其建立索引,效果也不會很好。例如,若某資料列僅包含如「0/1」或「Y/N」這類值,則無需為其建立索引。從理論上來說,可為資料表中的每個欄位分別建立索引,但 MySQL 將同一個資料表中的索引總數限制為 16 個。
2.InnoDB 資料表的索引
與 MyISAM 資料表相比,InnoDB 資料表上,索引對 InnoDB 資料表的重要性要大得多。在 InnoDB 資料表上,索引不僅在搜尋資料記錄時發揮作用,也是資料列層級鎖定機制的基礎。「資料列層級鎖定」意指在交易操作的執行過程中鎖定正在處理的個別記錄,不讓其他使用者存取。此種鎖定會影響(但不限於)SELECT、LOCK IN SHARE MODE、SELECT ... FOR UPDATE 命令以及 INSERT、UPDATE 和 DELETE 命令。基於效率考量,InnoDB 資料表的資料列層級鎖定實際發生在其索引上,而非資料表本身。顯然,資料列層級鎖定機制僅在相關資料表有合適的索引可供鎖定時才能發揮效用。
2. 精簡說明
精簡掉了除 MySQL 主服務之外的其餘多餘服務與擴充元件,以及 PDB 檔案,從而將體積縮小至 200 多 MB,壓縮後僅 13 MB,適合個人學習以及無其他額外需求的使用者。
3. 使用說明
下載解壓縮至指定目錄後,得到如下檔案:

分別有三個指令碼:
- startConsole.bat:直接啟動 MySQL 伺服器
- install.bat:將 MySQL 安裝成 Windows 服務
- uninstall.bat:解除安裝 MySQL 服務
使用者名稱:root,密碼空
4. 下載位址
https://ldqk.lanzouy.com/iooMWz1w5pi
更多內容請點選下面連結訪問懶得勤快官網,特別是文中連結失效時,哈哈。