Ох. причёсываю толпу народа и неточностей.
laggerok пишет:К чему приводят запросы типа select * from <tablename>
Будет вычитывать всю таблицу. Является ли это проблемой - зависит от объёма данных. И необходимой скорости отклика.
Если памяти достаточно и есть в этом реальная необходимость (чего мне не придумать, работу с данными на базу вешать и надо) - можно читать. Запрос элементарен, данные вовсе линейным чтением поднимаются.
На моей убитой виртуалке 3 ляма записей (около 250мб) обходится в цикле за 15 секунд времени. Замедление других запросов незаметно.
На 4 лямах - кончилась клиентская память, запрос отвалился.
tato пишет:в суровых реалях при миллионах записей база отвалится с вероятностью 99.99%.
База отработает спокойно. А вот на клиенте память кончится.
tato пишет: в завизимости от типа mysql бд (myisam || innodb) блакируется или вся таблица или конкретные поля.
Блокировки при изменении данных, для сохранения консистентности.
Параллельные 100% чтения - задача самая простая из работы планировщика СУБД.
Alho пишет:и ограничивать их кол-во лимитом.
Помним о том, что limit 100000, 200000 всё равно прочитает 200 тысяч записей?
IronHawk пишет:Есть такой опыт, так как в распоряжении есть парочка баз в которых есть баблицы с 1-2 млн. записей.
Всего лишь?
Тестовое задание ко мне на работу требует нормальной работы на базе в 2 млн пользователей. Связанная тестовая таблица у меня вышла 50млн записей, суммарно 2гб объём. (кстати, Питер, открыта вакансия)
laggerok пишет:- нагрузка на сервек (или вообще крах, если оч все плохо);
Очень сложно обрушить сервер таким запросом. Вот если попробовать переджойнить с чем-нибудь - то да, nested loop очень печален на таких объёмах.
laggerok пишет:- обновление кешей путем втуливания туда новой инфы с селекта;
Само собой. Если это постоянная нагрузка - повод подумать об отключении кэша запросов и увеличении памяти машине.
И ещё раз обращу внимание - сильно сомневаюсь, что вам нужен на клиенте (php то есть) весь этот массив данных. Наверняка же как-то группировать и агрегировать собрались.
|