Задавайте вопросы, мы ответим
Вы не зашли.
В связи с большим количеством данных и медленными запросами поиска, возникла мысль вынести более старые данные в отдельные таблицы. Но возник вопрос, а что, если кому-то понадобятся данные, которые уже лежат в "архивных" таблицах? Имеется ввиду поиск по нескольким таблицам сразу.
Я так понимаю, что мне копать в сторону UNION и, возможно, INTERSECT. Возможно ещё что-то применяют для подобных целей? Основной вопрос - производительность таких соединений. На сколько она отличается от одной таблицы с данными. Ясное дело, зависит от индексов, но какие-то общие представления сравнения скорости селектов вроде должны быть
Неактивен
В таких целях еще используют таблицы типа mrg_myisam (здесь, в частности, по этому поводу было обсуждение).
Еще используют partitioning
Неактивен
Про партишны слышал, вот только практический пример не попадался, по мануалам долго и не совсем понятно курится)) О MRG_MYISAM почитаю, спасибо за на_водку))
Неактивен
Пасиб, почитал и там... Идея сегментирования показалась более удачной ввиду своей простоты, а точнее - не надо изменять имеющиеся запросы
Но остались вопросы по сегментированию:
1. Сегментированные таблицы не поддерживаются хранимыми процедурами. У меня на потенциальной таблице висит триггер AFTER UPDATE. В случае с сегментированием придётся от него отказаться?
2. При добавлении новых сегментов старые пересоздаются заново или к имеющимся просто добавляется новый сегмент? Т.е. имеется ввиду в плане скорости выполнения ALTER, на сколько не критично периодически добавлять новые сегменты, когда таблица очень юзабельна.
Неактивен