Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Firebird, InterBase |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 .. 39 40 41 42 43 [44] 45 46 47 48 .. 55 вперед Ctrl→ |
Симонов Денис Member Откуда: Рязань Сообщений: 10794 |
потому что хеш-таблица имеет ограниченный размер. Никто не будет резервировать 2^64 слотов |
||
30 сен 19, 21:41 [21983287] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
|
||
30 сен 19, 21:44 [21983293] Ответить | Цитировать Сообщить модератору |
Dimitry Sibiryakov Member Откуда: Сообщений: 52445 |
Хэш-таблицы не используют итераций. Posted via ActualForum NNTP Server 1.5 |
30 сен 19, 21:46 [21983296] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
|
||
30 сен 19, 21:46 [21983297] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
|
||
30 сен 19, 21:47 [21983299] Ответить | Цитировать Сообщить модератору |
Симонов Денис Member Откуда: Рязань Сообщений: 10794 |
rdb_dev, стоимость поиска в хеш-таблице O(1), если нет коллизий. Так что по большому счёту нужен поиск среди коллизий. ЕМНИП ДЕ говорил что коллизии отсортированы и по ним идёт бинарный поиск. |
30 сен 19, 21:53 [21983304] Ответить | Цитировать Сообщить модератору |
Dimitry Sibiryakov Member Откуда: Сообщений: 52445 |
Может, для хэш-джоина это и так, но остальные - даже не отсортированы. Posted via ActualForum NNTP Server 1.5 |
||
30 сен 19, 22:07 [21983314] Ответить | Цитировать Сообщить модератору |
Basil A. Sidorov Member Откуда: Сообщений: 10898 |
|
||
1 окт 19, 04:09 [21983407] Ответить | Цитировать Сообщить модератору |
Дегтярев Евгений Member Откуда: Барнаул Сообщений: 1985 |
зачем ты про стоимость, не стоит, для чувака что лукап в хештаблице, что поиск по дереву, что получение записи по ключу в БД это операции одного поряка. |
||
1 окт 19, 08:11 [21983433] Ответить | Цитировать Сообщить модератору |
Дегтярев Евгений Member Откуда: Барнаул Сообщений: 1985 |
Воу по легче Во первых мой вопрос был не к тебе Во вторых вопрос был не о том, как оно работает в текущей реализации фб, а о применимости хешджойна в конкретной ситуации, чиста теоритичеки, для подискутировать. Вот rdb_dev считает что занафига, идекс же есть. |
||
1 окт 19, 08:22 [21983435] Ответить | Цитировать Сообщить модератору |
Симонов Денис Member Откуда: Рязань Сообщений: 10794 |
Дегтярев Евгений, а я считаю что для маленьких таблиц можно и HASH JOIN вместо NESTED LOOP по индексу юзать. Будет ли это быстрее хз, эксперименты показывают когда как. |
1 окт 19, 09:08 [21983445] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
|
||||
1 окт 19, 09:50 [21983466] Ответить | Цитировать Сообщить модератору |
Basil A. Sidorov Member Откуда: Сообщений: 10898 |
В общем случае строка представляет собой (двусвязный) список символов и переходы вперёд-назад есть, а переход по индексу - отсутствуют. |
||
1 окт 19, 10:00 [21983474] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
БД, которую ты использовал для этих примеров, где-то в публичном доступе? |
||
1 окт 19, 10:06 [21983479] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
![]()
|
||||
1 окт 19, 10:17 [21983498] Ответить | Цитировать Сообщить модератору |
Симонов Денис Member Откуда: Рязань Сообщений: 10794 |
rdb_dev, что ты видишь? Ты на результаты выше глянул, когда кеш намеренно уменьшен, чтобы быть меньше таблицы? Вот тебе пытаются объяснить что разные случаи могут быть, разные! Предсказать заранее что эффективнее сложно. Вроде и разжевали уже всё в каких случаях точно эффективней и почему, но нет ты тут упираешься.
нет конечно. Это копия для целей разработки и тестирования одной из моих промышленных БД. |
||
1 окт 19, 10:25 [21983507] Ответить | Цитировать Сообщить модератору |
Дегтярев Евгений Member Откуда: Барнаул Сообщений: 1985 |
я тоже считаю можно
а вот это странно |
||||
1 окт 19, 10:26 [21983511] Ответить | Цитировать Сообщить модератору |
Симонов Денис Member Откуда: Рязань Сообщений: 10794 |
Дегтярев Евгений, когда и таблица и индексы целиком в кеше, то результаты практически равны |
1 окт 19, 10:28 [21983517] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
|
||||||||
1 окт 19, 10:45 [21983542] Ответить | Цитировать Сообщить модератору |
Дегтярев Евгений Member Откуда: Барнаул Сообщений: 1985 |
Симонов Денис, вот меня и удивило, что получение записи по ключу на фоне других операций не так затратно зы как это происходит? посните? поиск по ключу на страницах индекса + получение записи со страницы данных? или как то иначе? |
1 окт 19, 10:51 [21983549] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
PLAN JOIN (COLOR NATURAL, HORSE INDEX (FK_HORSE_COLOR))разница существенна, а не в пределах статистической погрешности - производительность соединение по обычному индексу на 26.18% выше. |
||
1 окт 19, 10:52 [21983554] Ответить | Цитировать Сообщить модератору |
Симонов Денис Member Откуда: Рязань Сообщений: 10794 |
ну ты бы хоть иногда подумать попытался. Когда идёт чтение по индексу мы можем читать одни и те же страницы многократно, поэтому важно чтобы они оставались в кеше. Смотри медленно идёт скан по индексу кеш работает по принципу LRU. Поскольку страница может быть прочитана повторно, то важно чтобы она сохранялась в кеше как можно дольше. Но если кеша недостаточно, то она будет вытеснена рано или поздно. В случае NATURAL каждая DP страница при чтении таблицы будет прочитана лишь один раз! Кеш переключается на другую стратегию. Прочитанная страница вытесняется сразу после того как из неё кончилось извлечение записей. |
||
1 окт 19, 10:55 [21983558] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
|
||||
1 окт 19, 11:05 [21983568] Ответить | Цитировать Сообщить модератору |
rdb_dev Member Откуда: с болот Сообщений: 3604 |
|
||||
1 окт 19, 11:14 [21983580] Ответить | Цитировать Сообщить модератору |
Дегтярев Евгений Member Откуда: Барнаул Сообщений: 1985 |
rdb_dev > Потому что "O(1)" уточни для какой структуры ты оцениваешь поиск? хештаблица, красночерное дерево, что то еще? |
1 окт 19, 11:18 [21983583] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 .. 39 40 41 42 43 [44] 45 46 47 48 .. 55 вперед Ctrl→ |
Все форумы / Firebird, InterBase | ![]() |