|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » как прочитать сразу весь результат запроса к базе? (на пхп) |
|
|
как прочитать сразу весь результат запроса к базе? (на пхп)
|
Ночной странник Сообщения: 4050 |
как прочитать сразу весь результат запроса к базе?
ЗЫ а надоело писать циклы... |
|
------- Отправлено: 12:12, 24-04-2005 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать а как ты предполагаешь парсить без цикла
![]() когда запрос возвращает больше одной записи? А чтобы меньше писать - можно сделать классы. |
Отправлено: 12:31, 24-04-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать mar
я хотел бы получать двух мерный массив... |
------- Отправлено: 12:33, 24-04-2005 | #3 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать Vlad Drakula
так ты его и получаешь - но по строкам (записям) придется все равно идти циклами. Посмотри реализацию в php-lib. По-моему, там то, что тебе хочется. Особенно, если сделать надстройку из своих классов. |
Отправлено: 13:20, 24-04-2005 | #4 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать mar
обязательно посмотрю... а вот новый клас писать не хочется... это явно не ускорит работу скрипта... хочется найти встроенную функцию... только вот чего то я ее не нашол в доках по пхп! |
|
------- Отправлено: 13:35, 24-04-2005 | #5 |
Ветеран Сообщения: 659
|
Профиль | Отправить PM | Цитировать Vlad Drakula
Такой функции нет, а смысл? Это убьет всю твою память.... ![]() |
Отправлено: 11:15, 25-04-2005 | #6 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать archy
вопрос не в том сколько памяти нужно... а в как это сделать без циклов! ЗЫ если у вас такие запросы что их резуоттат забъет 8м... то советую вам их про оптимизировать! |
------- Отправлено: 16:31, 25-04-2005 | #7 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать Vlad Drakula
ты не понял предыдущего ответа/вопроса/реплики насчет памяти - сделать без циклов можно одним путем: получить всю выборку в некую - одну, - область памяти. Выборка по какой-нибудь таблице этого форума забьет не 8 М, а много больше. Для области данных программы отводится не все место в памяти (естественно и особенно на сервере). Ну, и так далее. Кстати, непонимание таких вещей может вести к серьезным просчетам при программировании запросов к базе. Мне неоднократно удавалось оптимизировать чужие запросы, переводя их с VIEW (выгребающего все и сразу), на составляющие эти же VIEW JOIN-ы и UNION-ы. Кстати, о том, как PHP работает с памятью, на этом форкме тоже писалось. |
Отправлено: 17:49, 25-04-2005 | #8 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать mar
ну... какая разница я эту память в цикле поедуть буду или за один раз? неужели разное колличество памяти зается? |
------- Отправлено: 20:05, 25-04-2005 | #9 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать Vlad Drakula
конечно разница имеется. Прежде всего у тебя 2 составляющих: СУБД и парсер в данном случае на PHP. Иными словами (поскольку нас сейчас занимает PHP) - некие данные, которые ты читаешь. Вспомни, как это делается на языках, в которых работа с памятью прозрачна для программиста (на C, например). Объявляешь/готовишь некий буфер в памяти и начинаешь заполнять его данными. Для этого переводишь указатель на начало и считываешь сегмент данных. Дальше переводишь указатель на конец сегмента и т.д. То есть в каждый момент работы цикла у тебя задействован один локальный буфер памяти. И ты что-то с данными из него делаешь. А теперь представь, что твой буфер по длине равен всему куску данных сразу и ты одним бабахом все в него засасываешь + еще пытаешься что-то с этим делать. + соседний поток web-сервера параллельно занялся аналогичным. А теперь много юзеров и почти сразу подобные вещи запросили... Ну и вот. Висим, скорей всего ![]() |
Отправлено: 01:10, 26-04-2005 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Как преобразовать текстовую формулу в числовой результат | malev | AutoIt | 2 | 18-09-2009 11:09 | |
Разное - пхп-скрипт вызывает екзешник с параметрами, как получить обратно результат? | borg92 | Программирование и базы данных | 1 | 13-08-2009 14:34 | |
[решено] как прочитать весь текстовый файл целиком? (в PHP) | Vlad Drakula | Вебмастеру | 2 | 24-06-2006 13:51 | |
bash: Как выполнить многострочный результат другой команды | shivtorov | Общий по Linux | 12 | 04-10-2005 10:20 | |
Как вывести результат работы скрипта | lehha | Вебмастеру | 6 | 14-11-2003 12:59 |
|