Яка оптимальна кількість партицій для великої таблиці MySQL

10^8 рядків) - щось типу лога. У таблиці є "групуючі" поле, на основі якого і робляться вибірки. Хочу використовувати стандартне MySQL партіціонування з використанням hash (групуючого поля). Відповідно виникає запитання: скільки партицій варто вибрати? MySQL дозволяє до 1024 партицій. Чи що більше партицій тим, за ідеєю, вища продуктивність але більше займає місця? Або якось інакше?

І взагалі, до мене доходили чутки про проблеми в MySQL-ному вбудованому партиціонуванні (раптовому «схлопуванні» партицій за невідомих обставин), чи є у когось негативний досвід використання вбудованого механізму партиціонування MySQL?

>>Чи правда що більше партицій тим, за ідеєю, вища продуктивність але більше займає місця?

ні, не правда. У загальному випадку секціонування обернено просадкою за продуктивністю. Лише в окремих випадках воно може дати виграш.

Як правило, виграш у продуктивності виходить при відборі за предикатом з низькою селективністю (високим значенням відношення числа відібраних рядків за предикатом до рядків у вихідному наборі), для якого використання індексу виявляється менш ефективно ніж повне сканування набору даних. Якщо такий предикат відбору включений у ключ секціонування, фуллсканити доводиться тим менше, що більше у нас партицій.

Так само виграш у продуктивності може бути отриманий завдяки тому, що з'являється можливість розкидати секції з різних дисків. І тут дві сесії, скануючі різні секції, фізично розташовані різних дисках, не конкурують за доступом до диску, що дає дуже відчутний прибуток, т.к. дискові операції на даниймомент одні з найдорожчих.

>> Таблиця має «групуючі» поле Не зовсім зрозуміло, що ви маєте тут на увазі. Якщо ви групуєтеся по полю, яке є ключем секціонування, найімовірніше вам доведеться сканувати весь набір записів, всі секції, і перший, описаний мною випадок, вигравши у продуктивності тоді, безумовно, не про вас. Я дуже сумніваюся, що MySql здатний, як оракл, паралелити виконання стейтмента, тому й другий описаний випадок виграшу теж навряд про вас.