В настоящее время мы выбираем схему секционирования для таблицы в нашей базе данных MySQL. У нас есть несколько сегментов, и мы направляем все записи отдельных пользователей в один сегмент. Мы также хотим разделить саму таблицу по идентификатору пользователя. Мы немного новичок в разбиении на разделы и хотели бы получить отзывы о том, какой тип раздела использовать и как часто нам, вероятно, потребуется поддерживать раздел.
Мы провели несколько простых тестов, используя разбиение по ключу, линейный ключ, хэш и линейный хеш. В наших тестах оказалось, что хэш — самый быстрый вариант для вставки, а также, похоже, дает нам лучшее распределение с использованием случайно сгенерированных идентификаторов пользователей. Однако при чтении документации мы прочитали, что линейный хеш лучше, если вы хотите объединить или оптимизировать разделы, но мы заметили, что он намного медленнее при вставке. Мы действительно не понимаем, зачем нам когда-либо нужно объединять или оптимизировать разделы, поэтому мы не уверены, насколько это должно учитываться.
Кроме того… мы планируем использовать максимальное количество разделов (думаю, 1000), потому что мы не видим никаких недостатков в этом подходе, и он должен дать нам наилучшую производительность за счет максимального ограничения количества записей на раздел. Есть ли что-то, что мы должны учитывать при выборе количества разделов, или можно просто использовать 1000 разделов? Есть ли у кого-нибудь совет по этому поводу?