簡體   English   中英

mysql / innodb數據庫大小如何影響性能?

[英]How mysql/innodb database size impacts performance?

我有一個30 GB的大型mysql數據庫,其中所有表都使用innodb引擎。 幾乎所有這些空間都由一個大表(大約25 GB)占用,我以二進制格式存儲大文本,但是99%的查詢使用其他較小的表。

我的服務器有16 GB的內存,系統內存非常不足,總是使用swap,這給我的用戶帶來很多麻煩。 我的innodb_pool_buffer_size設置為6G

我正在考慮通過將這些文本從數據庫移動到文件系統來解決此性能問題。

如果大多數查詢不使用此大表,將25 GB的文本移到文件系統是否可以解決此問題? 即使最大的innodb表沒有過多地用於查詢,數據庫大小也會影響服務器性能嗎?

您的問題中沒有足夠的信息來提供答案。

在為問題應用可能的解決方案之前,您需要采取系統的方法來發現問題 否則,您將開處方隨機葯物,以治療未知疾病。 使問題變得更糟的程度與使問題變得更好或沒有效果的可能性一樣大。

首先對緩慢的查詢運行EXPLAIN ,以查看它們在做什么。 確保您的表已正確索引以改善這些查詢(如果尚未進行)。 然后,如果您仍然遇到問題,請在此處發布最慢的查詢以及EXPLAIN的輸出作為新問題,您將獲得更多有用的答案。

我完全同意Flimzy的觀點,您將需要仔細檢查數據庫的使用方式,如果需要優化數據庫的幫助,則需要更多信息。

但是,我可以回答您兩個問題。 在99.9%的情況下,遷移到基於文件的系統並不比MySQL更好。 MySQL具有比標准文件系統更好的方法來對數據進行排序,排序和選擇。 基本上,任何操作系統都很難在單個目錄中維護大量文件,並且HDD的I / O和延遲時間將很快消失。
第二個問題是:不,數據庫/表的大小不必影響服務器性能。 我有一個145 GiB InnoDB表(允許,它在SSD上),並且在我的網站沒有受到太大影響的情況下,它被嚴重使用。 :ole Flimzy說,您將必須優化SQL Server,表設計和索引編制,然后查詢以獲得最佳性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM