-1
在數據庫中存在少量InnoDB MySQL表。MySQL Innodb表需要超過4小時才能優化
當我試圖進行優化時,它需要超過4個小時,並且仍在進行優化。
我正在使用優化表命令來做到這一點。
請建議。
感謝, 普里亞
在數據庫中存在少量InnoDB MySQL表。MySQL Innodb表需要超過4小時才能優化
當我試圖進行優化時,它需要超過4個小時,並且仍在進行優化。
我正在使用優化表命令來做到這一點。
請建議。
感謝, 普里亞
而是與[pt-online-schema-change][1]
的OPTIMIZE TABLE
使用ALTER TABLE ENGINE INNODB
。它仍然需要四個+小時,但至少它不會阻止寫入表格。
肯定的事情。謝謝 – priya
爲什麼'OPTIMIZE'? InnoDB通常在不採取明確行動的情況下處理碎片。桌子縮小了多少?你有沒有'innodb_file_per_table'設置? –
@RickJames,innodb_file_per_table已經爲所有表設置。我使用優化來爲碎片採取行動。沒有意識到InnodB在不採取明確行動的情況下照顧碎片。另外,當我試圖優化,4小時後,它還處於進展狀態,所以最終我殺死了這個過程。請建議。 – priya
桌子有多大;必須相當大,需要4個多小時。 'OPTIMIZE'最終會結束。該表可能會縮小一半,但隨着「插入/更新」進入該表,它會很快重新增長。由於再生,「OPTIMIZE」(通常)是徒勞的。 –