Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос к представлению
 
 автор: ronin80   (05.05.2008 в 10:05)   письмо автору
 
 

Всем привет!

Вопрос такой: есть представление - запрос к определённой таблице, в таблице сейчас порядка 40000 строк, при выполнении запроса на основе которого построено представление в explain plan выдаёт информацию что использовано порядка 200 строк из таблицы, время выполнения запроса 0,016с, тут всё в порядке.

При попытке выполнить запрос на основе данного представления с дополнительными ограничениями поиска (where...) explain plan выдаёт что сначала выполняется полный просмотр представления (порядка 20000 строк) а потом только срабатывает условие поиска, соответственно время выполнения такого запроса значительно выше (0,563 с)

Почему так происходит? Необходимо исключить просмотр всех строк представления, т.к. при дальнейшем росте размера таблицы запрос будет выполняться ещё медленнее.

Заранее спасибо.

   
 
 автор: ronin80   (05.05.2008 в 10:08)   письмо автору
 
   для: ronin80   (05.05.2008 в 10:05)
 

И ещё такой вопрос - что лучше построить вложенный запрос (несколько уровней вложенности) или создать несколько представлений обозначающих каждый уровень вложенности?

Запросы сложные, многотабличные с группировкой и т.д. и т.п., поэтому и спрашиваю.

   
 
 автор: cheops   (05.05.2008 в 13:11)   письмо автору
 
   для: ronin80   (05.05.2008 в 10:08)
 

С точки зрения производительности - скорее всего не имеет значения каким путём вы пойдёте.

   
 
 автор: cheops   (05.05.2008 в 13:09)   письмо автору
 
   для: ronin80   (05.05.2008 в 10:05)
 

Хм... а конструкция WHERE всегда так влияет - нужно индексировать данные...

   
 
 автор: ronin80   (05.05.2008 в 15:08)   письмо автору
 
   для: cheops   (05.05.2008 в 13:09)
 

так поле по которому происходит отбор проиндексировано

вопрос в том почему когда делаю прямой запрос (тело представления) отбирает 200 строк, а когда делаю запрос через представление просматривает всё представление?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования