Появился такой вопрос. Почему на 17:12 количество корзин (4194304) получается почти в 2 раза больше количества хешируемых записей в хешируемой таблице (2111110) ? По диаграмме на 01:15 получается, что корзина включает в себя как минимум одну строку таблицы, т.е. по логике данной диаграммы число корзин не должно превышать число строк таблицы.
Количество корзин хеш-таблицы выбирается так, чтобы в полностью заполненной данными таблице каждая корзина содержала в среднем одну строку. Рассчитанное количество корзин увеличивается до первой подходящей степени двойки. 2 097 152 корзин немного не хватило бы, поэтому планировщик взял следующую степень двойки. Если памяти хватает, зачем рисковать производительностью?
нужно предупреждение что требуется знание алгоритма поиска по хеш таблицам, или краткое объяснение. Так как, не зная этого, совершенно непонятно зачем это соединение если есть вложенный цикл.
Спасибо за доклад! Благодаря вам ко мне приходит понимание, как это всё работает.
Появился такой вопрос. Почему на 17:12 количество корзин (4194304) получается почти в 2 раза больше количества хешируемых записей в хешируемой таблице (2111110) ? По диаграмме на 01:15 получается, что корзина включает в себя как минимум одну строку таблицы, т.е. по логике данной диаграммы число корзин не должно превышать число строк таблицы.
Количество корзин хеш-таблицы выбирается так, чтобы в полностью заполненной данными таблице каждая корзина содержала в среднем одну строку. Рассчитанное количество корзин увеличивается до первой подходящей степени двойки.
2 097 152 корзин немного не хватило бы, поэтому планировщик взял следующую степень двойки. Если памяти хватает, зачем рисковать производительностью?
нужно предупреждение что требуется знание алгоритма поиска по хеш таблицам, или краткое объяснение. Так как, не зная этого, совершенно непонятно зачем это соединение если есть вложенный цикл.
В свежей версии курса этот момент вроде бы чуть подробнее изложен (видео скоро выложим). Но мы обратим внимание, спасибо!