powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Join на большой таблице.
8 сообщений из 8, страница 1 из 1
Join на большой таблице.
    #32041646
Maksym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте все.
Есть большая таблица - 170 млн. записей з с достаочно большим количеством полей.
Есть вторая таблица только с ID записей которые нужно потянуть с основной таблицы. Представим себе, что вторая таблица тоже достаточно велика, несколько милионнов записей. Join по ID поля первой и второй таблицы занимает несколько часов. В некоторых случаях transaction log увиличивается просто угрожающе. Паралельно на том же сервере могут происходить другие операции помимо этой.
Вопрос: будет ли быстрее общее время если из второй таблицы брать по несколько тысяч записей, тянуть записи со второй таблицы в какую то временую таблицу?
...
Рейтинг: 0 / 0
Join на большой таблице.
    #32041648
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на счет быстрей не уверен - но лог расти будет меньше...
а с хинтом хэш джоин пробовал?....
...
Рейтинг: 0 / 0
Join на большой таблице.
    #32041649
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ув. MiCe !
Подскажите, плз, что даст этот хинт. В BOL смотрел, но ясности не прибавилось.
...
Рейтинг: 0 / 0
Join на большой таблице.
    #32041651
Maksym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какой hint ты предлагаешь использвать в данном случае?
Описание этих хинтов является досточно туманным...
...
Рейтинг: 0 / 0
Join на большой таблице.
    #32041653
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скул сканирует строки и строит на его основе хэш таблицу... там несколько алгоритмов...
обычно планировщик сам определяет тип слияния....
по идее тут лучший метод хэш - мерге... явно его не задаш..
посмотреть бы какие индексы на таблицах и что выбирает планировщик в этой ситуации... я примерно догадываюсь..
на самом деле еслиб увеличить памяти на сервере было бы полегче...
...
Рейтинг: 0 / 0
Join на большой таблице.
    #32041655
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот если эту большую таблицу разбить на несколько...
1 - ID от 1 до 16 999 999
2 - ID от 17 000 000 до 33 999 999 ...
... и тд до 10
сделать объединяющую вьюху по UNION ALL...
думаю что должно полегчать....
...
Рейтинг: 0 / 0
Join на большой таблице.
    #32041659
Maksym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже если записи будут разбросаны по всем частям?
Вторая таблица формируется динамически на Sybase IQ. ID могут быть разнесены по всей таблице, чаще всего так и происходит....
...
Рейтинг: 0 / 0
Join на большой таблице.
    #32041661
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю так то можно?
Код: plaintext
1.
2.
3.
select b.* 
from viewbigtable b inner join
           (select id from dinamictable where id between  0  and  19   999   999 ) d 
on b.id=d.id

и так для каждой порции
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Join на большой таблице.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]