0
最近我將VPS從1GB更新到了4GB內存。我希望查詢(MYSQL/InnoDB)運行速度更快,內存更多,但不幸的是情況並非如此。當服務器有更多的內存時,mysql會自動佔用更多的內存,還是必須更改my.cnf中的某些設置?如果是這樣,我應該做出什麼改變?Mysql(InnoDB)配置設置以獲得更好的性能?
最近我將VPS從1GB更新到了4GB內存。我希望查詢(MYSQL/InnoDB)運行速度更快,內存更多,但不幸的是情況並非如此。當服務器有更多的內存時,mysql會自動佔用更多的內存,還是必須更改my.cnf中的某些設置?如果是這樣,我應該做出什麼改變?Mysql(InnoDB)配置設置以獲得更好的性能?
MySQL不會自動利用安裝的更多內存。
在你的情況(假設您正在使用InnoDB
),你可以做至少這些改善MySQL性能:
innodb_buffer_pool_size
(此選項默認值爲128MB )。這定義了多少內存專用於mysql innodb來緩存其數據表和idexes。這意味着如果你可以分配更多的內存,mysql會緩存更多的數據,從而加快查詢速度(因爲mysql會查找內存,而不是執行數據查找的I/O操作)。 當然你應該分配合理數量的內存(不是整個4G :))可能是不多於2G。您應該嘗試在服務器上測試它以獲得更準確的結果。 (閱讀更多信息,在更改此選項之前https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-resize.html)innodb_buffer_pool_instances
。對於你來說可能是1個或2個實例綽綽有餘。 (你可以在這裏閱讀更多:https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_buffer_pool_instances)但是在開始編輯my.ini
之前,請對您的情況做出計算。考慮你的MySQL服務器負載,查詢速度慢等更準確的選項設置my.ini
我認爲你問的是錯誤的問題。你主要關注提高性能是分析查詢。 \t性能問題應該包括'EXPLAIN ANALYZE'和一些關於表格大小,索引,當前時間表現,期望時間等的信息。'Slow'是一個相對術語,我們需要一個真實值來比較。 \t \t [** MySQL **](http://dba.stackexchange.com/questions/15371/how-do-i-get-the-execution-plan-for-a-view) –
是的,我我也在努力優化查詢課程。我想優化一切,設置,查詢,索引等。 – Roger
你使用什麼樣的mysql引擎爲你的表?給我們更多關於數據庫的信息:) – krasipenkov