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 :: Поля в запросе.

 PHP.SU

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


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

> Без описания
Predator
Отправлено: 25 Июня, 2012 - 18:56:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 619
Дата рег-ции: Март 2012  
Откуда: Ярославль


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

[+][+][+]


Хотел бы узнать почему одни пишут так:

Другие перечисляют нужные поля заместо *.
Что дает? Снижает нагрузку или время выполнения?
 
 Top
tuareg
Отправлено: 25 Июня, 2012 - 19:04:03
Post Id


Участник


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


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




Это рекомендуется, чтобы не дергать лишние столбики, и для наглядности.
 
 Top
Champion Супермодератор
Отправлено: 25 Июня, 2012 - 19:04:07
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




1. Не выбираются лишние поля - снижается трафик между сервером БД и PHP. Соответственно, нагрузка и время чтения.
2. Если перечислять поля, и нам случайно так повезет, что все перечисленные поля есть в индексе, то СУБД прочитает значения из индекса, не читая целые строки, а это приятно.
3. Видно, с какими данными работает код, идущий после запроса. Это бывает приятно, когда надо узнать, скажем, где используется такое-то поле, если замышляется пересматривание структуры таблиы или еще что-то.
4. Если несколько джойнящихся таблиц имеют столбцы с одинаковыми именами, то лучше перечислить эти столбцы, указав им алиасы. А чтобы не забыть один из них, нужно следовать привычке перечислять все.
5. Другие ошибки, которые можно по невнимательности допустить, не видя перед глазами столбцы.
 
 Top
Мелкий Супермодератор
Отправлено: 25 Июня, 2012 - 22:36:11
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




В дополнение списка Champion:
1.1) не нужно читать лишние данные. text'ы и blob'ы, как известно, хранятся отдельно от всей таблицы - ну и зачем их вычитывать, если они не нужны будут? Других данных тоже касается, но там лишнее всё равно будет читаться хотя бы частично.
1.2) субд не нужно определять, какие поля вообще надо возвращать.


-----
PostgreSQL DBA
 
 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