У меня есть несколько вопросов о спящем режиме.
Во многих вопросах здесь, в stackoverflow, несколько человек говорят, что спящий режим не является хорошим выбором для очень сложных баз данных. Если у нас очень сложная база данных, спящий режим - неправильный выбор. Это лучше подходит для проектов с зелеными полями, но это не так хорошо для сложной базы данных устаревших.
-
Это правда?
Также спящий режим генерирует запросы. Каждый руководитель проекта хочет иметь оптимизированные запросы (спящий режим не может генерировать более оптимизированные запросы, чем SQL-специалист!). Поэтому для большого проекта не стоит нанимать специалиста по sql. Специалист sql оптимизирует запросы (используйте объяснение sql, используйте объединения...) -
Мой вопрос: почему огромный и дорогой проект не заботится о оптимизации sql? (вы скажете, что вы можете писать HQL, но, как я видел во многих сообщениях, которые объясняют, что HQL не настолько мощный, как sql, и у многих программистов возникает головная боль и несколько часов настройки) (вам нравятся все ваши органы в вашем тело идеально работает, не так ли?) Кроме того, кеш второго уровня помогает спячки много, потому что hibernate знает, что генерирует много запросов вместо сложного соединения.
-
Мой вопрос: действительно ли это сложный db, измененный только одной системой (например, веб-сайт)? Если мы говорим о корпоративной системе, к db можно получить доступ через несколько процессов, используя разные языки программирования и платформы.
Таким образом, в этом случае кеш второго уровня не очень помогает. -
Для каких типов hibernate подходит? Это для проектов бэк-офиса, где никто не заботится о sql?
-
Что происходит, когда ваш администратор говорит: используйте memcached для кеширования и, пожалуйста, используйте эти оптимизированные запросы вместо ваших?
Если вы используете базу данных oracle, у orache самый передовой синтаксис sql. Они тратят много времени и денег на синтаксис, который очень мощный. Зачем этот синтаксис, если он не используется.
Программное обеспечение записывается только один раз (и затем поддерживается) и используется в течение длительного времени.
Если я являюсь компанией, которая заказывает программное обеспечение, я скажу: я буду использовать программное обеспечение в течение нескольких лет, и мне нравится быть быстрым, и если вы потратите 1 месяц на то, чтобы писать программное обеспечение со спящим режимом, я заплачу еще один месяц за программное обеспечение, которое использует пример IBATIS, зная, что он будет работать лучше годами
(когда вы покупаете автомобиль, вас интересует экономия автомобиля 1 кг-масло/км, а не как короткий и простой производитель изготовил автомобиль!). Так что, как потребитель программного обеспечения, я не заинтересован в вашей производительности, насколько быстро это программное обеспечение. Конечно, цена также актуальна, но если говорить о цене, то есть более сложная математика.
Можно ли назвать что-то инженерным, когда мы действительно не можем предсказать какую-то часть системы?
(может ли инженер-электрик быть инженером, если он не может предсказать текущий)
Пожалуйста, поделитесь своим мнением.
Привет