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

  • Автор темы Автор темы Nielson
  • Дата начала Дата начала

Nielson

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

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

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

Я делаю так
PHP:
SELECT * FROM table WHERE parent='1'

Дальше идёт while() и вывод нужных полей.

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

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

P.S. Вопрос не по теме, но раз уж написал, то и это тут спрошу — подскажите, пожалуйста, статьи в сети, которые ясно, обширно и понятно рассказывают об ООП в php?
 
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
тебе ещё рано. не забивай голову
 
triumvirat
зачем давать ссылку на устаревшую документацию по устаревшему и ныне не поддерживаемому продукту?
 
zerkms
1. Ему этой документации за глаза хватит. Мне, например, хватает полностью.
2. Готов поспорить, читать англоязычный мануал он не будет.
 
triumvirat
ты выиграл спор )) У меня не так хорошо с английским.

Спасибо за ссылки.
 
У меня не так хорошо с английским.
Без практики, к примеру, без чтения англоязычных мануалов, никогда и не станет хорошо. А без этого стать грамотным (и как результат конкурентноспособным) программистом ты не сможешь.
 
1. Ему этой документации за глаза хватит. Мне, например, хватает полностью.
если учесть, что часть вещей устарела, а часть в принципе не существовала в 4.0.х - то можно тогда вообще не читать о такой непростой теме "оптимизация". с тем же успехом можно было бы давать ссылку на документацию по постгресу.

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