PHP/MySQL | PDO array через while или foreach?)) Как лучше)
Тема закрыта by
Trec80

Optimuses (27.03.2018 в 19:58)
Где то смотрел сравненин всех циклов, foreach самый производительней
Где то смотрел сравненин всех циклов, foreach самый производительней
+++

DELETED
27 марта 2018, в 20:06
Delete
PhpStorm (27.03.2018 в 20:06)
для работы с массивами в php применяется foreach
для работы с массивами в php применяется foreach
Я знаю, я вот сижу и думаю, преобразовать из массива, или использовать массивный метод
накладные расходы while/foreach на уровне "погрешности" по сравнению с самим mysql запросом
foreach быстрее, так как он оперирует уже массивом данных, а while каждый раз извлекает запись
При этом foreach сразу съедает кусок RAM, а while частями - прочитал/удалил
Ещё раз хочу подчеркнуть, львиную долю нагрузки в любом случае будет генерировать mysql
Чтобы была разница while/foreach заметна, нужно извлекать сотни тысяч/миллионы данных
foreach быстрее, так как он оперирует уже массивом данных, а while каждый раз извлекает запись
При этом foreach сразу съедает кусок RAM, а while частями - прочитал/удалил
Ещё раз хочу подчеркнуть, львиную долю нагрузки в любом случае будет генерировать mysql
Чтобы была разница while/foreach заметна, нужно извлекать сотни тысяч/миллионы данных
Mobiaaa (27.03.2018 в 20:12)
накладные расходы while/foreach на уровне "погрешности" по сравнению с самим mysql запросом
foreach быстрее, так как он оперирует уже массивом данных, а while каждый раз извлекает запись
При этом foreach сразу съедает кусок RAM, а while частями - прочитал/удалил
Ещё раз хочу подчеркнуть, львиную долю нагрузки в любом случае будет генерировать mysql
Чтобы была разница while/foreach заметна, нужно извлекать сотни тысяч/миллионы данных
накладные расходы while/foreach на уровне "погрешности" по сравнению с самим mysql запросом
foreach быстрее, так как он оперирует уже массивом данных, а while каждый раз извлекает запись
При этом foreach сразу съедает кусок RAM, а while частями - прочитал/удалил
Ещё раз хочу подчеркнуть, львиную долю нагрузки в любом случае будет генерировать mysql
Чтобы была разница while/foreach заметна, нужно извлекать сотни тысяч/миллионы данных
к примеру если в таблице 1 000 000 записей, сколько примерно сьест рам?
[T]rec80, В таблице может быть и 10 миллионов записей, но запросом Вы извлекаете, к примеру только 10, - LIMIT 10
И в функцию while/foreach попадёт 10 записей, а не все миллионы
Если же у Вас извлекаются весь миллион данных - советую пересмотреть логику скрипта, это не нормально когда требуется такими объёмами считывать с базы единовременно
И в функцию while/foreach попадёт 10 записей, а не все миллионы
Если же у Вас извлекаются весь миллион данных - советую пересмотреть логику скрипта, это не нормально когда требуется такими объёмами считывать с базы единовременно
Mobiaaa, ну это я про то что как тест производительности)
А к примеру если делать поиск по ключу, по идее foreach будет быстрее??
А к примеру если делать поиск по ключу, по идее foreach будет быстрее??
Стр.: 1, 2