MySql資料庫相關問題整理

2021-07-27 14:49:36 字數 1187 閱讀 3081

從圖中可以發現,mysql主要包括連線池、sql介面、查詢分析器、優化器、緩衝、外掛程式式儲存引擎、檔案系統

mysql中的資料用各種不同的技術儲存在檔案(或者記憶體,因為表中的記錄需要通過記憶體和cpu產生作用)中。這其中的每一種技術都使用不同的儲存機制、索引技巧、鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。這些不同的技術以及配套的相關功能在mysql中被稱作儲存引擎(也稱作表型別)。mysql預設配置了許多不同的儲存引擎,可以預先設定或者在mysql伺服器中啟用。你可以選擇適用於伺服器、資料庫和**的儲存引擎,以便在選擇如何儲存你的資訊、如何檢索這些資訊以及你需要你的資料結合什麼效能和功能的時候為你提供最大的靈活性。選擇如何儲存和檢索你的資料的這種靈活性是mysql為什麼如此受歡迎的主要原因。其它資料庫系(包括大多數商業選擇)僅支援一種型別的資料儲存。遺憾的是,其它型別的資料庫解決方案採取的「乙個尺碼滿足一切需求」的方式意味著你要麼就犧牲一些效能,要麼你就用幾個小時甚至幾天的時間詳細調整你的資料庫。使用mysql,我們僅需要修改我們使用的儲存引擎就可以了。mysql資料庫支援的儲存引擎我們可以使用show engines指令檢視mysql資料庫支援的儲存引擎。

使用show engines可以檢視mysql支援的儲存引擎

關於資料庫儲存引擎的乙個恰當的比喻是:汽車都能實現行駛的功能,但是svv和普通轎車具有不同的發動機結構。

這些儲存引擎的主要區別在於:是否支援大物件、是否支援事物、索引不同、鎖結構不同。這些區別導致訪問效率和適用範圍大大不同。具體資訊如下:

innodb與myisam的最大不同有兩點:一是支援事務(transaction);二是採用了行級鎖。

這個和程序間的通訊相似,主要包括 tcp/ip套接字、命名管道等

請參考 資料庫事物

請參照mysql的表鎖問題(二)——innodb表鎖問題

這其中還涉及到行鎖、業鎖、表鎖,請參考mysql學習之——鎖(行鎖、表鎖、頁鎖、樂觀鎖、悲觀鎖等)

資料庫相關整理語句

備份資料庫 backup database testdb to disk d data testdb20070906.bak 清空日誌 dump transaction testdb with no log 截斷事務日誌 backup log testdb with no log 收縮資料庫 dbc...

mysql資料庫整理

mysql做分頁查詢 1 select from tablename limit 5,10 檢索記錄行6 10 2 為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 1 select from tablename limit 10,1 檢索記錄行11到末尾 3 如果只給定乙個引...

資料庫相關問題

如何設計乙個關係型資料庫 rdbms 索引相關 為什麼要使用索引?什麼樣的資訊能成為索引?索引的資料結構?密集索引和稀疏索引的區別?如何定位並優化慢查詢sql?聯合索引的最左匹配原則的成因?索引是建立的越多越好嗎?myisam和innodb關於鎖方面的區別?mysiam的適用場景?innodb的適用...