2013-04-12 4 views
0

Я - приложение, в котором количество отчетов больше. Что я делаю для каждого отчета, так это то, что я создаю представление mysql и хранимую процедуру mysql. Начиная с front php, я даю вызов хранимой процедуре с предложением where, на основе которой, где предложение i извлекает результаты из определенного представления. Недавно я узнал, что это вызывает проблемы с производительностью. Поэтому я избежал просмотров и написал один и тот же код в хранимой процедуре, а производительность улучшилась. Поэтому из этой точки зрения я смущен относительно идеальной ситуации, когда я должен использовать хранимую процедуру и когда я должен использовать представления.Когда использовать представления и когда использовать хранимые процедуры

И объясняется ли мой сценарий выше, действительно ли это связано с проблемой производительности, или это было проблемой на моем конце?

+1

виды создадут таблицу, подобную структуре, с помощью которой вы можете перемещаться по записям в виде. Хотя хранимая процедура - это скомпилированные запросы. – mukund

ответ

1

Мнения в mysql в основном предназначены для читаемости. Они позволяют скрыть возможный сложный запрос по нескольким таблицам во что-то, что представляется отдельной таблицей.

Я бы заподозрил, что наиболее вероятной причиной является не использование самих представлений (хотя не уверены, что они вам помогут, а хранимая процедура может быть более эффективной), а скорее вид, который вы используете, оптимизированы (возможно, игнорируются клавиши).