| BG Development · За реклама · За контакти |
Помощ Търсене Потребители Календар Правила |
| Здравей! ( Включване | Регистриране ) |
| Страници: (3) [1] 2 3 ( Първото ново мнение ) | ![]() ![]() ![]() |
| Gamma Goblin |
Публикувано на: 23-07-2019, 20:40
|
||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
Quiz of the day: ----
Как най-ефективно мога да намеря всички елементи от даден списък които *не са* в тая таблица ? Списъка е много голям, таблицата също Това мнение е било редактирано от Gamma Goblin на 23-07-2019, 20:50 |
||
| Gosheto |
Публикувано на: 23-07-2019, 21:05
|
|
Име: Група: Потребител Ранг: Посетител Мнения: 84 Регистриран на: 07.05.07 |
|
| Gamma Goblin |
Публикувано на: 23-07-2019, 21:13
|
||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
Нещо такова, но трябва да мога да си подавам нещата от списъка като променлив брой параметри, защото не знам кои и колко са предварително. За сега най-бързо е с
Като checker е временна таблица с тъпо име. Като при мен е двойно по-бързо от варианта с EXCEPT. Това мнение е било редактирано от Gamma Goblin на 23-07-2019, 21:14 |
||||
| Gamma Goblin |
Публикувано на: 23-07-2019, 21:13
|
||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
|
||||
| dvader |
Публикувано на: 23-07-2019, 22:50
|
![]() Име: Валерий Тодоров Група: VIP Ранг: Почетен член Мнения: 5404 Регистриран на: 12.07.05 |
Временната таблица изисква отделно куери - така нещата а) не са атомични, б) не са нишко-безопасни.
Вместо временна таблица - WITH ... SELECT или направо някой INNER JOIN -------------------- I find your lack of faith disturbing
|
| code2 |
Публикувано на: 24-07-2019, 07:10
|
||||
|
Име: Група: Потребител Ранг: Редовен член Мнения: 557 Регистриран на: 11.06.16 |
Ако въпросът ти не е теоретичен, тогава защо просто не сортираш таблицата и списъка по търсения елемент и да почнеш да ги четеш паралелно с две заявки? Това би трябвало да е достатъчно ефективно.
Алгоритъм:
Това е на принципа на merge sort. Това мнение е било редактирано от code2 на 24-07-2019, 07:11 |
||||
| Gamma Goblin |
Публикувано на: 24-07-2019, 07:29
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
@code2, това ще е брутално бавно
|
| Gamma Goblin |
Публикувано на: 24-07-2019, 07:31
|
||||||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
не е проблем
защо ? Временната таблица съяествува само в рамките на връзката. Като затвориш conenction-a и тя изчезва. Тоест всяка връзка си има собствена временна таблица и една връзка не може да види временната таблица на друга.
|
||||||
| Gamma Goblin |
Публикувано на: 24-07-2019, 08:29
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
Поради някаква прикина не ми е ползвало hash индекса
|
| code2 |
Публикувано на: 24-07-2019, 08:40
|
||||
|
Име: Група: Потребител Ранг: Редовен член Мнения: 557 Регистриран на: 11.06.16 |
Добре тогава. Ето ти по-добро решение:
Това което направих е просто да модифицирам за нуждите вече дадено решение в stackoverflow: https://dba.stackexchange.com/questions/102...data-repetition Първите 4 реда в горната заявка са само за да има пълна демонстрация, както е в оригиналния цитиран отговор. |
||||
Страници: (3) [1] 2 3 |
![]() ![]() ![]() |