Да, это поможет иметь хранимую процедуру здесь.Причины 1. это делает ваш слой базы данных более управляемым 2. SP предварительно скомпилированы.Когда вы запускаете их сначала, движок создаст план выполнения и сохранит план.В следующий раз, когда он запустится, он повторно использует план.Таким образом, вы получаете некоторую выгоду производительности.В вашем случае вы можете получить большую выгоду, если подчеркнутая таблица не изменяется (обновляется / удаляется) после создания SP.Если это так, то вы можете РЕКОМПИЛИРОВАТЬ sp (запустить его с опцией RECOMPILE), и он создаст и сохранит новый план.
Как вы это делаете.Ну, это довольно просто.Если вы используете HeidiSQL для MySQL Front End или браузер запросов MYSQL enterprise 5.0, вы можете сгенерировать SP графически.Но даже если вы хотите закодировать его с нуля, это легко.
http://dev.mysql.com/doc/refman/5.0/en/stored-routines-syntax.html
Sp также рекомендуется с точки зрения безопасности, поскольку они могут остановить атаки SQL-инъекций.
Когда у вас есть SP, вы можете настроить стол, чтобы сделать SP быстрее.1. Создайте индекс (некластеризованный) для столбцов в предложении where 2. Включите столбец, который вы вносите в этот индекс, в SELECT.
В Microsoft SQL Server вы можете сделать это, используя индекс покрытия.Я не уверен, можете ли вы сделать это в MYSQL или нет.Но даже если вы можете, вы должны попытаться создать индекс, охватывающий как можно больше столбцов в кластеризованном или некластеризованном индексе.
HTH