SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.05.2011 18:57:44

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Поиск в нескольких одинаковых таблицах

В связи с большим количеством данных и медленными запросами поиска, возникла мысль вынести более старые данные в отдельные таблицы. Но возник вопрос, а что, если кому-то понадобятся данные, которые уже лежат в "архивных" таблицах? Имеется ввиду поиск по нескольким таблицам сразу.

Я так понимаю, что мне копать в сторону UNION и, возможно, INTERSECT. Возможно ещё что-то применяют для подобных целей? Основной вопрос - производительность таких соединений. На сколько она отличается от одной таблицы с данными. Ясное дело, зависит от индексов, но какие-то общие представления сравнения скорости селектов вроде должны быть smile


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#2 24.05.2011 20:32:38

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Поиск в нескольких одинаковых таблицах

В таких целях еще используют таблицы типа mrg_myisam (здесь, в частности, по этому поводу было обсуждение).

Еще используют partitioning


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 24.05.2011 20:44:12

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Поиск в нескольких одинаковых таблицах

Про партишны слышал, вот только практический пример не попадался, по мануалам долго и не совсем понятно курится)) О MRG_MYISAM почитаю, спасибо за на_водку))


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

#4 24.05.2011 20:46:06

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Поиск в нескольких одинаковых таблицах

На хабре попадался годный топик.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 24.05.2011 22:03:53

Neval
Гуру
Откуда: Киев
Зарегистрирован: 11.03.2008
Сообщений: 449

Re: Поиск в нескольких одинаковых таблицах

Пасиб, почитал и там... Идея сегментирования показалась более удачной ввиду своей простоты, а точнее - не надо изменять имеющиеся запросы smile
Но остались вопросы по сегментированию:
1. Сегментированные таблицы не поддерживаются хранимыми процедурами. У меня на потенциальной таблице висит триггер AFTER UPDATE. В случае с сегментированием придётся от него отказаться?
2. При добавлении новых сегментов старые пересоздаются заново или к имеющимся просто добавляется новый сегмент? Т.е. имеется ввиду в плане скорости выполнения ALTER, на сколько не критично периодически добавлять новые сегменты, когда таблица очень юзабельна.


Человек без чувства юмора - не серьёзный человек wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson