Я работаю над несколькими PHP-проектами, которые используют MVC-фреймворки, и, хотя у всех них есть разные способы извлечения объектов из базы данных, всегда кажется, что ничто не сравнится с написанием ваших SQL-запросов вручную, так как скорость и сокращение количество запросов.
Например, один из моих веб-проектов (написанный младшим разработчиком) выполняет более 100 запросов только для загрузки домашней страницы. Причина в том, что в одном месте метод загружает объект, но позже, глубже в коде, он загружает некоторые другие объекты, связанные с первым объектом.
Это приводит к другой части вопроса: что делают люди в ситуациях, когда у вас есть таблица, в которой в одной части кода нужны только значения для нескольких столбцов, а в другой - что-то еще? Прямо сейчас (в том же проекте) есть один метод get () для каждого объекта, и он выполняет «SELECT *» (или явно перечисляет все столбцы в таблице), так что в любое время вам нужен объект по любой причине, Вы получаете все это.
Итак, другими словами, вы слышите все разговоры о том, как SELECT * плох, но если вы пытаетесь использовать класс ORM, который поставляется с платформой, он хочет делать это обычно. Вы застряли в выборе ORM с SELECT * против написания конкретных запросов SQL вручную? Мне просто кажется, что мы застряли между удобством и эффективностью, и если я вручную напишу запросы, если я добавлю столбец, мне, скорее всего, придется добавить его в несколько мест в коде.
Извините за длинный вопрос, но я объясняю фон, чтобы получить некоторые взгляды от других разработчиков, а не конкретное решение. Я знаю, что мы всегда можем использовать что-то вроде Memcached, но я бы предпочел оптимизировать то, что мы можем, прежде чем углубляться в это.
Спасибо за любые идеи.