Вы, похоже, находитесь в ситуации, когда вам требуется эффективное управление данными с функциями, которые не включены в текущую среду Zend.Zend не имеет встроенного движка для работы с базами данных любого рода, он просто имеет классы-обертки, которые помогают вам писать ваши запросы.
Вам нужна объектно-реляционная модель (ORM), которая является обязательной-посмотреть в профессиональных рамках.Насколько я понимаю, ORM сам по себе является фреймворком, у него есть шаблоны и строго определенные способы «делать вещи», он поддерживает отложенную загрузку (она берет большую часть из этого) и оптимизирует ваши запросы в полной мере.Когда вы используете ORM, вы даже не пишете SQL, вместо этого вам нужно изменить свою интерпретацию хранения данных, вам нужно забыть о таблицах и сосредоточиться на объектах.Например, в Doctrine каждый тип (таблица) определяется классом, а каждая запись (строка) - экземпляром класса, где у вас есть доступ к различным методам и свойствам.Он поддерживает прослушиватели событий и безумные каскадные соотношения.
Больше не нужно извлекать строки из связанных таблиц при удалении записей (это происходит автоматически), больше не нужно писать сложные и хаотичные сценарии для обеспечения синхронизации файловой системы, вы можетеперейти на почти любой движок БД в любое время (mysql, postgresql, simplesql ..) и многое другое ..
Я использую Doctrine 2 в сочетании с платформой Symfony 2 и должен сказать, что не будувернуться к Zend для чего-нибудь.Да, это сложно и тяжело, но на самом деле окончательное решение.Когда вы подходите к моменту, когда вам нужно управлять сотнями таблиц с миллионами записей - тогда вы увидите разницу.
Итак, итоговое суммирование: ORM - это то, что вам нужно, есть много решений, язнаю два действительно хороших: Doctrine 1 или 2 и Propel.
PS: ORM является независимой частью вашей системы, поэтому вам не нужно использовать конкретную среду, Zend может быть настроен для работы сУчение чудесно:)