Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Join на большой таблице. / 8 сообщений из 8, страница 1 из 1
07.08.2002, 19:16:10
    #32041646
Maksym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
Здравствуйте все.
Есть большая таблица - 170 млн. записей з с достаочно большим количеством полей.
Есть вторая таблица только с ID записей которые нужно потянуть с основной таблицы. Представим себе, что вторая таблица тоже достаточно велика, несколько милионнов записей. Join по ID поля первой и второй таблицы занимает несколько часов. В некоторых случаях transaction log увиличивается просто угрожающе. Паралельно на том же сервере могут происходить другие операции помимо этой.
Вопрос: будет ли быстрее общее время если из второй таблицы брать по несколько тысяч записей, тянуть записи со второй таблицы в какую то временую таблицу?
...
Рейтинг: 0 / 0
07.08.2002, 19:34:31
    #32041648
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
на счет быстрей не уверен - но лог расти будет меньше...
а с хинтом хэш джоин пробовал?....
...
Рейтинг: 0 / 0
07.08.2002, 19:47:48
    #32041649
Зайцев Фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
Ув. MiCe !
Подскажите, плз, что даст этот хинт. В BOL смотрел, но ясности не прибавилось.
...
Рейтинг: 0 / 0
07.08.2002, 19:56:54
    #32041651
Maksym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
какой hint ты предлагаешь использвать в данном случае?
Описание этих хинтов является досточно туманным...
...
Рейтинг: 0 / 0
07.08.2002, 19:58:45
    #32041653
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
скул сканирует строки и строит на его основе хэш таблицу... там несколько алгоритмов...
обычно планировщик сам определяет тип слияния....
по идее тут лучший метод хэш - мерге... явно его не задаш..
посмотреть бы какие индексы на таблицах и что выбирает планировщик в этой ситуации... я примерно догадываюсь..
на самом деле еслиб увеличить памяти на сервере было бы полегче...
...
Рейтинг: 0 / 0
07.08.2002, 20:06:10
    #32041655
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
вот если эту большую таблицу разбить на несколько...
1 - ID от 1 до 16 999 999
2 - ID от 17 000 000 до 33 999 999 ...
... и тд до 10
сделать объединяющую вьюху по UNION ALL...
думаю что должно полегчать....
...
Рейтинг: 0 / 0
07.08.2002, 20:14:21
    #32041659
Maksym
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
Даже если записи будут разбросаны по всем частям?
Вторая таблица формируется динамически на Sybase IQ. ID могут быть разнесены по всей таблице, чаще всего так и происходит....
...
Рейтинг: 0 / 0
07.08.2002, 20:23:53
    #32041661
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join на большой таблице.
думаю так то можно?
Код: 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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Join на большой таблице. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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