1. 程式人生 > 實用技巧 >mysql最佳配置

mysql最佳配置

mysql innodb 最佳配置

使用查詢最頻繁的一個或多個列為每個表 指定一個主鍵, 如果沒有明顯的主鍵,則指定一個 自動增量值。

使用聯接時,無論是基於多個表中相同的ID值,還是從多個表中提取資料。為了提高連線效能,請在連線列上定義 外來鍵,並在每個表中使用相同的資料型別宣告這些列。新增外來鍵可確保對引用的列進行索引,從而可以提高效能。外來鍵還會將刪除或更新傳播到所有受影響的表,並且如果父表中不存在相應的ID,則可以防止在子表中插入資料。

關閉自動提交。每秒提交數百次會限制性能(受儲存裝置的寫入速度限制)。

分組組相關的DML 操作成 交易,通過包圍他們START TRANSACTION和 COMMIT報表。雖然你不想過於頻繁地提交,你也不想發出的巨大的批次 
INSERT, UPDATE或 DELETE陳述,不提交執行小時。 不使用LOCK TABLES 語句。InnoDB可以一次處理多個會話,一次讀寫同一張表,而無需犧牲可靠性或高效能。要獲得對一組行的排他性寫訪問許可權,請使用 SELECT ... FOR UPDATE語法僅鎖定要更新的行。 啟用該 innodb_file_per_table選項或使用常規表空間將表的資料和索引放入單獨的檔案中,而不是 系統表空間中。 innodb_file_per_table 預設情況下啟用 該選項。 評估您的資料和訪問模式是否受益於InnoDB表或頁面 壓縮功能。您可以在InnoDB不犧牲讀/寫功能的情況下壓縮表。
--sql_mode=NO_ENGINE_SUBSTITUTION 如果在中的ENGINE=子句中 指定的引擎存在問題 ,則可以選擇執行伺服器 以防止使用其他儲存引擎建立表 CREATE TABLE。