Оптимизация запросов к базе

Nielson

Новичок
Оптимизация запросов к базе

Уважаемые Форумчане.
Я с php знаком совсем поверхностно, поэтому не обессудьте за, возможно, совсем простой вопрос.

Как оптимально делать выборку из MySql?

Я делаю так
PHP:
SELECT * FROM table WHERE parent='1'
Дальше идёт while() и вывод нужных полей.

Но, как мне кажется, если посещаемость сайта приличная, а полей в базе достаточно много, то этот способ совсем никуда не годится. Ведь это же получается банальный перебор каждой строки, а это же ого-го. Или я не прав?

Если я прав, то как можно оптимизировать запросы к БД? Например, в интернет-магазине, где есть каталог товаров, структурированный по рубрикам?

P.S. Вопрос не по теме, но раз уж написал, то и это тут спрошу — подскажите, пожалуйста, статьи в сети, которые ясно, обширно и понятно рассказывают об ООП в php?
 

zerkms

TDD infected
Команда форума
1. EXPLAIN
2. http://dev.mysql.com/doc/refman/5.0/en/optimization.html
3. `parent` = 1

P.S. Вопрос не по теме, но раз уж написал, то и это тут спрошу — подскажите, пожалуйста, статьи в сети, которые ясно, обширно и понятно рассказывают об ООП в php?
ООП одинаковый везде. если нужна информация конкретно об объектной модели пхп, то вот: http://ru.php.net/manual/en/language.oop5.php
 

Духовность™

Продвинутый новичок
не прав. построчный перебор при выводе - это нормально

полей в базе достаточно много
читай про LIMIT - http://www.mysql.ru/docs/man/SELECT.html

Если я прав, то как можно оптимизировать запросы к БД?
читай про индексы - http://www.mysql.ru/docs/man/Query_Speed.html

статьи в сети, которые ясно, обширно и понятно рассказывают об ООП в php
тебе ещё рано. не забивай голову
 

zerkms

TDD infected
Команда форума
triumvirat
зачем давать ссылку на устаревшую документацию по устаревшему и ныне не поддерживаемому продукту?
 

Духовность™

Продвинутый новичок
zerkms
1. Ему этой документации за глаза хватит. Мне, например, хватает полностью.
2. Готов поспорить, читать англоязычный мануал он не будет.
 

Nielson

Новичок
triumvirat
ты выиграл спор )) У меня не так хорошо с английским.

Спасибо за ссылки.
 

dimagolov

Новичок
У меня не так хорошо с английским.
Без практики, к примеру, без чтения англоязычных мануалов, никогда и не станет хорошо. А без этого стать грамотным (и как результат конкурентноспособным) программистом ты не сможешь.
 

zerkms

TDD infected
Команда форума
1. Ему этой документации за глаза хватит. Мне, например, хватает полностью.
если учесть, что часть вещей устарела, а часть в принципе не существовала в 4.0.х - то можно тогда вообще не читать о такой непростой теме "оптимизация". с тем же успехом можно было бы давать ссылку на документацию по постгресу.

2. Готов поспорить, читать англоязычный мануал он не будет.
и мы будем очень переживать. спать перестанем, да.
 

Nielson

Новичок
dimagolov
я не собираюсь становиться программистом, в том-то и дело. Я ПМ. И у нас основа — это дизайн, а не код. Программирование мне нужно исключительно в целях общего развития.
 

zerkms

TDD infected
Команда форума
Nielson
в таком случае - лучше попроси программистов. оптимизировать у тебя при таком подходе не получится никак.
 

prolis

Новичок
[off]
Nielson в целях общего развития http://www.pmi.org уже сдан?
[/off]?
 
Сверху