Возможно, я слишком скоро спустился по пути оптимизации, и потерялся. Я записываю все возможные действия в игровом дереве настольной игры. У меня мало надежды завершить дерево, так как он станет таким большим (10^28), но, если возможно, захотите получить хороший кусок. В ожидании медленных запросов я разбиваю таблицы на ~ 50 ветвей дерева с суффиксами, описывающими каждую ветвь.следует разбить таблицу mysql, использовать механизм слияния, master/slave или что-то еще?
К сожалению, в моем приложении много сообщений, писем, обновлений и соединений, поэтому все быстро стало медленным, прежде чем я их разложил. С тех пор я также добавил некоторые очень полезные индексы, которые могли бы решить начальную медлительность. Однако по мере того, как приложение развивается, становится все сложнее переключаться между множеством таблиц с более сложными объединениями. Недавно я слышал об использовании мастер-подчиненного устройства, а также механизма слияния, чтобы помочь с большими таблицами. Я выбрал неправильное решение для своей проблемы или должен ли я просто это испортить?
Вы можете использовать разбиение на разделы для своих таблиц, если вы не хотите менять приложение. если в этом случае индекс создается для каждого раздела, и вы также можете его использовать. Вы также можете отказаться от partion, то есть со старыми данными и так далее: https://mariadb.com/kb/en/mariadb/partitioning-overview/ –
Я бы спустился по маршруту Catus Kev в своем оценщике покера. http://suffe.cool/poker/evaluator.html может быть много уникальных ходов, но есть ли много разных? Резка данных будет ключевой. – exussum
В этом случае вряд ли слияние и разделение могут быть вашим другом ... но что именно вы храните (потенциально) 10^28 из, и как оно используется? –