Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: PDO::FETCH_OBJ

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
arimanecro
Отправлено: 14 Сентября, 2016 - 10:09:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Для чего нужен данный атрибут? Вернее когда его рационально использовать?

Ведь создание объекта это затраты ресурсов, почему не оставлять режим массива(например PDO::FETCH_ASSOC) ?

Или это делается тупо ради ООП стилистики? Разве не глупо ради красивой визуализации кода, жертвовать производительностью?
 
 Top
Fart
Отправлено: 14 Сентября, 2016 - 14:32:26
Post Id



Посетитель


Покинул форум
Сообщений всего: 324
Дата рег-ции: Июль 2016  


Помог: 10 раз(а)




это не для стилистики сделали. написать простенький код с запросом - мускул, а для крупного проекта, где важно упростить задачу - пдо.

несмотря на это, если использовать мускул в крупном проекте хочешь не хочешь, а пишешь велосипеды для упрощения работы с субд и если будет большое количество запросов, то мускул проиграет пдо.

пдо также хорош с разными субд.
 
 Top
Ch_chov
Отправлено: 14 Сентября, 2016 - 14:39:20
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




> Разве не глупо ради красивой визуализации кода, жертвовать производительностью?
А что там такого страшного с производительностью происходит? Вы делали бенчмарки?
 
 Top
arimanecro
Отправлено: 14 Сентября, 2016 - 15:10:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 209
Дата рег-ции: Май 2014  


Помог: 0 раз(а)




Ch_chov пишет:
А что там такого страшного с производительностью происходит? Вы делали бенчмарки?


не я лично, а др.чел -- https://gist[dot]github[dot]com/stephen-hill/5508483

Цитата:
PDO::FETCH_ASSOC - 936 ms
PDO::FETCH_BOTH - 948 ms
PDO::FETCH_NUM - 1,184 ms
PDO::FETCH_OBJ - 1,272 ms
PDO::FETCH_LAZY - 1,276 ms

For large data sets, these results are typical:

PDO::FETCH_LAZY - 5,490 ms
PDO::FETCH_NUM - 8,818 ms
PDO::FETCH_ASSOC- 10,220 ms
PDO::FETCH_BOTH - 11,359 ms
PDO::FETCH_OBJ - 14,027 ms


==============

плюс повсеместно твердят, что объект это ресурсожрущая сущность, если бы это не было так, то нах тогда придумывать синглтон?
 
 Top
OrmaJever Модератор
Отправлено: 14 Сентября, 2016 - 15:26:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Я использую у себя в проекте только PDO::FETCH_OBJ, абсолютно для всех запрсоов. Мне так больше нравится.
По поводу производительности скажу так - забейте. Это несоизмеримые понятия. Запрос в бд к примеру выполняется 5мс, выборка в массив будет 0.01мс к примеру, а в обьект 0.05мс, и что мы выиграем?
Вообще по собственному опыту скажу что про время выполнения пхп можно забыть, в реальных проектах процентов 80-90 времени занимают запросы в бд, иногда даже пинги.
Толку боротся за 1-2мс когда пинг к серверу 40мс и запросы в общем выполняются еще 10-20.
Короче сейчас тема производительности php отходит на второй план.
arimanecro пишет:
то нах тогда придумывать синглтон?

То есть ты думаешь что синглтон нужен только потому что обьекты ресурсоёмкие? В общем долго обьяснять и придумывать примеры, но твоё утверждение не верно.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB