|
|
|
Join на большой таблице.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте все. Есть большая таблица - 170 млн. записей з с достаочно большим количеством полей. Есть вторая таблица только с ID записей которые нужно потянуть с основной таблицы. Представим себе, что вторая таблица тоже достаточно велика, несколько милионнов записей. Join по ID поля первой и второй таблицы занимает несколько часов. В некоторых случаях transaction log увиличивается просто угрожающе. Паралельно на том же сервере могут происходить другие операции помимо этой. Вопрос: будет ли быстрее общее время если из второй таблицы брать по несколько тысяч записей, тянуть записи со второй таблицы в какую то временую таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 19:16:10 |
|
||
|
Join на большой таблице.
|
|||
|---|---|---|---|
|
#18+
на счет быстрей не уверен - но лог расти будет меньше... а с хинтом хэш джоин пробовал?.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 19:34:31 |
|
||
|
Join на большой таблице.
|
|||
|---|---|---|---|
|
#18+
Ув. MiCe ! Подскажите, плз, что даст этот хинт. В BOL смотрел, но ясности не прибавилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 19:47:48 |
|
||
|
Join на большой таблице.
|
|||
|---|---|---|---|
|
#18+
какой hint ты предлагаешь использвать в данном случае? Описание этих хинтов является досточно туманным... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 19:56:54 |
|
||
|
Join на большой таблице.
|
|||
|---|---|---|---|
|
#18+
скул сканирует строки и строит на его основе хэш таблицу... там несколько алгоритмов... обычно планировщик сам определяет тип слияния.... по идее тут лучший метод хэш - мерге... явно его не задаш.. посмотреть бы какие индексы на таблицах и что выбирает планировщик в этой ситуации... я примерно догадываюсь.. на самом деле еслиб увеличить памяти на сервере было бы полегче... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 19:58:45 |
|
||
|
Join на большой таблице.
|
|||
|---|---|---|---|
|
#18+
вот если эту большую таблицу разбить на несколько... 1 - ID от 1 до 16 999 999 2 - ID от 17 000 000 до 33 999 999 ... ... и тд до 10 сделать объединяющую вьюху по UNION ALL... думаю что должно полегчать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 20:06:10 |
|
||
|
Join на большой таблице.
|
|||
|---|---|---|---|
|
#18+
Даже если записи будут разбросаны по всем частям? Вторая таблица формируется динамически на Sybase IQ. ID могут быть разнесены по всей таблице, чаще всего так и происходит.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2002, 20:14:21 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3439&tid=1821300]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 289ms |

| 0 / 0 |
