什麼是MySQL:
- 設計爲使用內核線程完全多線程,以便在可用時輕鬆使用多個CPU。
- 提供事務性和非事務性存儲引擎。 注:提供了事物,鎖機制
- 使用MyISAM具有索引壓縮的非常快速的B樹磁盤表()。
- 實現內存中的哈希表,用作臨時表 注:多表查詢創建的臨時表是用哈希!
- 使用應儘可能快的高度優化的類庫實現SQL函數。通常在查詢初始化之後根本沒有內存分配
- 將服務器作爲單獨的程序提供,用於客戶端/服務器網絡環境,以及作爲可嵌入(鏈接)到獨立應用程序的庫。此類應用程序可以單獨使用,也可以在沒有網絡的環境中使用。
限制:
- 200,000個表和大約5,000,000,000行
- 每個表最多支持64個索引。每個索引可以包含1到16列或部分列。InnoDB表的最大索引寬度爲767字節或3072字節
- 存儲過程:CREATE PROCEDURE使用該CALL語句創建並調用的對象 。過程沒有返回值,但可以修改其參數以供調用者稍後檢查。它還可以生成要返回給客戶端程序的結果集。
- 存儲函數:CREATE FUNCTION使用內置函數創建並使用的對象 。您在表達式中調用它,並在表達式求值期間返回一個值
- 觸發器:使用該對象創建的對象CREATE TRIGGER與表關聯。當表發生特定事件(例如插入或更新)時,將激活觸發器。
- 事件:CREATE EVENT根據計劃由服務器創建和調用的對象。
- 視圖:使用該對象創建的對象CREATE VIEW生成結果集。視圖充當虛擬表。