Поиск больших таблиц в mysql 5+.

Собственно запрос:

 

 

  1. mysql> SELECT concat(table_schema,‘.’,table_name),concat(round(table_rows/1000000,2),‘M’) rows,concat(round(data_length/(1024*1024*1024),2),‘G’) DATA,concat(round(index_length/(1024*1024*1024),2),‘G’) idx,concat(round((data_length+index_length)/(1024*1024*1024),2),‘G’) total_size,round(index_length/data_length,2) idxfrac FROM information_schema.TABLES ORDER BY data_length+index_length DESC LIMIT 10;

  2. +————————————-+——–+——–+——–+————+———+

  3. | concat(table_schema,‘.’,table_name) | rows | DATA | idx | total_size | idxfrac |

  4. +————————————-+——–+——–+——–+————+———+

  5. | art87.link_out87 | 37.25M | 14.83G | 14.17G | 29.00G | 0.96 |

  6. | art87.article87 | 12.67M | 15.83G | 4.79G | 20.62G | 0.30 |

  7. | art116.article116 | 10.49M | 12.52G | 3.65G | 16.18G | 0.29 |

  8. | art84.article84 | 10.10M | 10.11G | 3.59G | 13.70G | 0.35 |

  9. | art104.link_out104 | 23.66M | 6.63G | 6.55G | 13.18G | 0.99 |

  10. | art118.article118 | 7.06M | 10.49G | 2.68G | 13.17G | 0.26 |

  11. | art106.article106 | 9.86M | 10.19G | 2.76G | 12.95G | 0.27 |

  12. | art85.article85 | 6.20M | 9.82G | 2.51G | 12.33G | 0.26 |

  13. | art91.article91 | 8.66M | 9.17G | 2.66G | 11.83G | 0.29 |

  14. | art94.article94 | 5.21M | 10.10G | 1.69G | 11.79G | 0.17 |

  15. +————————————-+——–+——–+——–+————+———+

  16. 10 rows IN SET (2 min 29.19 sec)

выведет 5 самых больших таблиц, указав по ним всю подробную информацию:

Количество строк, размер данных, размер индексов, общий размер.

Идея не моя, спасибо Петру Зайцеву:

http://www.mysqlperformanceblog.com/2008/02/04/finding-out-largest-tables-on-mysql-server/

Похожие статьи:

Comments

Написать комментарий.




XHTML: Можете использовать следующий код: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>