JOIN грузит всю таблицу в память. Это 2 ГБ данных. Даже если я делаю JOIN для одной записи.
Словари хотел использовать вначале, однако для данной задачи не увидел их преимуществ, они ведь так же полностью хранятся в оперативной памяти?
Какие преимущества у словарей перед JOIN-таблицами, если считать, что:
- в таблице только ключ-значение
- значений больше 100 млн
- размер таблицы постоянно увеличивается, хоть и не очень быстро
словари не обязательно целиком хранятся в оперативе, там есть возможность держать кэш ограниченного рзамера, а полноценный словарь будет при этом находиться в том же мускуле
Словарь 1 раз загружается в память, тогда как при джоине вы это делаете на каждый запрос
А почему вы не хотите в join задать условия в where? Чтобы не вся таблица грузилась
Обсуждают сегодня