以MySQL來說,Partitioning Table效能及操作方便性沒有Oracle及SQL Server來的好,分區太多會影響效能,若按天拆分,會有90個分區,因User要求保留三個月資料,後來與User商量的結果,保留近七天的熱資料在分區表上,七天以前的冷資料會每天拆成一個表,這樣要查資料都還調的到
等我拆完表後,發現一個奇怪的現象,就是Response慢慢慢,比不拆前還慢
show index慢
查information_schema.PARTITIONS也慢
連Explain也慢
我還沒Query怎麼會慢成這樣,此時忽然想起之前有看到一篇Solving INFORMATION_SCHEMA slowness,關掉innodb_stats_on_metadata就OK囉
set global innodb_stats_on_metadata=0;
記得My.ini也要加就是了,要不然重啟又啟用了
innodb_stats_on_metadata=05.5版本預設是開啟的,用5.6就沒有這個問題, 因為5.6預設是關閉的!