對于經常修改的表,容易產生碎片,使在查詢數據庫時必須讀取更多的磁盤塊,降低查詢性能。具有可變長的表都存在磁盤碎片問題,這個問題對blob數據類型更為突出,因為其尺寸變化非常大。可以通過使用optimize table來整理碎片,保證數據庫性能不下降,優化那些受碎片影響的數據表。
對于一個以數據為中心的應用,數據庫的好壞直接影響到程序的性能,因此數據庫性能至關重要。一般來說,要保證數據庫的效率,要做好以下四個方面的工作:數據庫設計、sql語句優化、數據庫參數配置、恰當的硬件資源和操作系統,這個順序也表現了這四個工作對性能影響的大小。
SQL查詢慢的48個原因分析1、沒有索引或者沒有用到索引(這是查詢慢最常見的問題,是程序設計的缺陷)。2、I/O吞吐量小,形成了瓶頸效應。3、沒有創建計算列導致查詢不優化。4、內存不足。5、網絡速度慢。6、查詢出的數據量過大(可以采用多次查詢,其他的方法降低數據量)。7、鎖或者死鎖(這也是查詢慢最常見的問題,是程序設計的缺陷)。
Apache+php+mysql在windows下的安裝與配置圖解。
Mysql Cluster的配置。
這是一份騰訊內部的技術文檔,詳細講述了 MySQL 數據庫啟用二進制日志 binlog 的細節,非常有參考價值。前言:日志是把數據庫的每一個變化都記載到一個專用的文件里,這種文件就叫做日志文件。Mysql默認只打開出錯日志,因為過多的日志將會影響系統的處理性能。在5.0前支持文本格式和二進制格式,5.0后只支持二進制格式,因為二進制日志在性能、信息處理方面有更多的優點。本文將對mysql的二進制日志機制進行分析,希望通過這篇文檔,能夠讓初學者對二進制日志有一個初步的了解。
MySQL數據庫的表是一個二維表,由一個或多個數據列構成。每個數據列都有它的特定類型,該類型決定了MySQL如何看待該列數據,我們可以把整型數值存放到字符類型的列中,MySQL則會把它看成字符串來處理。MySQL中的列類型有三種:數值類、字符串類和日期/時間類。從大類來看列類型和數值類型一樣,都是只有三種。但每種列類型都還可細分。
深入淺出MySQL數據庫開發、優化與管理維護
這是關于5.1版至5.1.2-alpha版MySQL數據庫系統的參考手冊。該手冊不適用于舊版本MySQL軟件,這是因為在MySQL 5.1和以前的版本存在很多功能性差異和其他差異。如果正在使用MySQL軟件的較舊版本,請參閱MySQL 5.0參考手冊,該手冊涵蓋了MySQL 5.0,或參閱MySQL 4.1參考手冊,該手冊涵蓋了MySQL 3.22、3.23、4.0和4.1系列。在手冊的文本中,通過引用發布版本號(5.1.x),注明了MySQL 5.1的二級版本。由于本手冊是作為參考手冊而編制的,在本手冊中未提供關于SQL或關聯數據庫概念的一般說明。在本手冊中,也不包含如何使用操作系統或命令行解釋器方面的信息。