как прочитать сразу весь результат запроса к базе? (на пхп)
-
Vlad Drakula
как прочитать сразу весь результат запроса к базе? (на пхп)
как прочитать сразу весь результат запроса к базе?
ЗЫ
а надоело писать циклы...
ЗЫ
а надоело писать циклы...
-
mar
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
а как ты предполагаешь парсить без цикла
?
когда запрос возвращает больше одной записи?
А чтобы меньше писать - можно сделать классы.
? когда запрос возвращает больше одной записи?
А чтобы меньше писать - можно сделать классы.
-
Vlad Drakula
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
mar
я хотел бы получать двух мерный массив...
я хотел бы получать двух мерный массив...
-
mar
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
Vlad Drakula
так ты его и получаешь - но по строкам (записям) придется все равно идти циклами.
Посмотри реализацию в php-lib. По-моему, там то, что тебе хочется. Особенно, если сделать надстройку из своих классов.
так ты его и получаешь - но по строкам (записям) придется все равно идти циклами.
Посмотри реализацию в php-lib. По-моему, там то, что тебе хочется. Особенно, если сделать надстройку из своих классов.
-
Vlad Drakula
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
mar
обязательно посмотрю...
а вот новый клас писать не хочется... это явно не ускорит работу скрипта... хочется найти встроенную функцию... только вот чего то я ее не нашол в доках по пхп!
обязательно посмотрю...
а вот новый клас писать не хочется... это явно не ускорит работу скрипта... хочется найти встроенную функцию... только вот чего то я ее не нашол в доках по пхп!
-
archy
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
Vlad Drakula
Такой функции нет, а смысл? Это убьет всю твою память....
Такой функции нет, а смысл? Это убьет всю твою память....

-
Vlad Drakula
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
archy
вопрос не в том сколько памяти нужно... а в как это сделать без циклов!
ЗЫ
если у вас такие запросы что их резуоттат забъет 8м... то советую вам их про оптимизировать!
вопрос не в том сколько памяти нужно... а в как это сделать без циклов!
ЗЫ
если у вас такие запросы что их резуоттат забъет 8м... то советую вам их про оптимизировать!
-
mar
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
Vlad Drakula
ты не понял предыдущего ответа/вопроса/реплики насчет памяти - сделать без циклов можно одним путем: получить всю выборку в некую - одну, - область памяти. Выборка по какой-нибудь таблице этого форума забьет не 8 М, а много больше. Для области данных программы отводится не все место в памяти (естественно и особенно на сервере). Ну, и так далее. Кстати, непонимание таких вещей может вести к серьезным просчетам при программировании запросов к базе. Мне неоднократно удавалось оптимизировать чужие запросы, переводя их с VIEW (выгребающего все и сразу), на составляющие эти же VIEW JOIN-ы и UNION-ы.
Кстати, о том, как PHP работает с памятью, на этом форкме тоже писалось.
ты не понял предыдущего ответа/вопроса/реплики насчет памяти - сделать без циклов можно одним путем: получить всю выборку в некую - одну, - область памяти. Выборка по какой-нибудь таблице этого форума забьет не 8 М, а много больше. Для области данных программы отводится не все место в памяти (естественно и особенно на сервере). Ну, и так далее. Кстати, непонимание таких вещей может вести к серьезным просчетам при программировании запросов к базе. Мне неоднократно удавалось оптимизировать чужие запросы, переводя их с VIEW (выгребающего все и сразу), на составляющие эти же VIEW JOIN-ы и UNION-ы.
Кстати, о том, как PHP работает с памятью, на этом форкме тоже писалось.
-
Vlad Drakula
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
mar
ну... какая разница я эту память в цикле поедуть буду или за один раз? неужели разное колличество памяти зается?
ну... какая разница я эту память в цикле поедуть буду или за один раз? неужели разное колличество памяти зается?
-
mar
Re: как прочитать сразу весь результат запроса к базе? (на пхп)
Vlad Drakula
конечно разница имеется. Прежде всего у тебя 2 составляющих: СУБД и парсер в данном случае на PHP. Иными словами (поскольку нас сейчас занимает PHP) - некие данные, которые ты читаешь. Вспомни, как это делается на языках, в которых работа с памятью прозрачна для программиста (на C, например). Объявляешь/готовишь некий буфер в памяти и начинаешь заполнять его данными. Для этого переводишь указатель на начало и считываешь сегмент данных. Дальше переводишь указатель на конец сегмента и т.д. То есть в каждый момент работы цикла у тебя задействован один локальный буфер памяти. И ты что-то с данными из него делаешь. А теперь представь, что твой буфер по длине равен всему куску данных сразу и ты одним бабахом все в него засасываешь + еще пытаешься что-то с этим делать. + соседний поток web-сервера параллельно занялся аналогичным. А теперь много юзеров и почти сразу подобные вещи запросили... Ну и вот. Висим, скорей всего
конечно разница имеется. Прежде всего у тебя 2 составляющих: СУБД и парсер в данном случае на PHP. Иными словами (поскольку нас сейчас занимает PHP) - некие данные, которые ты читаешь. Вспомни, как это делается на языках, в которых работа с памятью прозрачна для программиста (на C, например). Объявляешь/готовишь некий буфер в памяти и начинаешь заполнять его данными. Для этого переводишь указатель на начало и считываешь сегмент данных. Дальше переводишь указатель на конец сегмента и т.д. То есть в каждый момент работы цикла у тебя задействован один локальный буфер памяти. И ты что-то с данными из него делаешь. А теперь представь, что твой буфер по длине равен всему куску данных сразу и ты одним бабахом все в него засасываешь + еще пытаешься что-то с этим делать. + соседний поток web-сервера параллельно занялся аналогичным. А теперь много юзеров и почти сразу подобные вещи запросили... Ну и вот. Висим, скорей всего
