mysql進行優化

mysql進行優化的地方,簡單總結幾點:
在設計數據表的時候,儘可能使用最有效(最小的)數據類型,儘可能使用更小的整數類型,可能定義字段類型爲 NOT NULL。這會運行的更快,而且每個字段都會節省1個bit。如果在應用程序中確實需要用到 NULL,那麼就明確的指定它。不過要避免所有的字段默認值是 NULL),儘可能使用最有效(最小的)數據類型。MySQL有好幾種特定的類型能節省磁盤和內存。 儘可能使用更小的整數類型。在 MyISAM 表中,如果沒有用到任何變長字段(VARCHAR, TEXT, 或 BLOB字段)的話,那麼就採用固定大小的記錄格式。這樣速度更快,不過可能會浪費點空間。表的主索引應儘可能短。這樣的話會每條記錄都有名字標識且更高效。只創建確實需要的索引。索引有利於檢索記錄,但是不利於快速保存記錄。如果總是要在表的組合字段上做搜索,那麼就在這些字段上創建索引。索引的第一部分必須是最常使用的字段.如果總是需要用到很多字段,首先就應該多複製這些字段,使索引更好的壓縮。一個字段很有可能在最開始的一些數量字符是各不相同的,因此在這些字符上做索引更合適。MySQL支持在一個字段的最左部分字符做索引。索引越短,速度越快,不僅是因爲它佔用更少的磁盤空間,也因爲這提高了索引緩存的命中率,由此減少了磁盤搜索。在某些情況下,把一個頻繁掃描的表分割成兩個更有利。在對動態格式表掃描以取得相關記錄時,它可能使用更小的靜態格式表的情況下更是如此。

進行數據庫操作的時候,能有多簡單就有多簡單,能不用圓括號就不用圓括號,去掉那些多餘的選項,能用SQL解決的就不要用程序語言來處理(mysql處理的速度比解析語言快很多);

刪除表中所有數據的時候,用效率更高的TRUNCATE TABLE tbl_name 而不是DELETE FROM tbl_name;

在鎖表的情況下,更新多個記錄比多次更新記錄要快很多,因此:推遲更新並且把很多次更新放在後面一起做。

數據庫在連接時的開銷很大,一個頁面行不要有多次對庫進行連接和關閉的操作!

經常需要讀寫操作的表用 MEMORY(HEAP)表!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章