Здравствуйте, Ikemefula, Вы писали:
_>>Причём тут каждый запрос? ) Речь о драйверах к конкретным БД. Что в .net, что в sqlpp11 под каждую БД есть свой драйвер. И соответственно если мы хотим, чтобы наше приложение умело работать со всеми БД, нам требуется скомпилировать их все и вставит в наше приложение.
I>Неверно. Ощущение, что ты вывалился из машины времени, прилетел из начала 90х.
Ну расскажи, как оно по современному делается. )
_>>К чему эти теоретически рассуждения? ) Покажи хоть какой-нибудь пример решения. Я то тебе показываю работающие куски кода.
I>Не вижу смысла. Твой поинт пока что такой — в рантайме можно, а тоже самое но в дизайн-тайм — невозможно
I>До тебя почему то не доходит, что дизайнт-тайм это тот же рантайм, только в другом приложении.
I>Включи логирование запросов, увидишь, что нет никакой магии. Все что нужно — сохранить эти запросы, они уже сгенерены, провалидированы и тд и тд.
Нет, в результате работы подобного инструмента должны генерироваться не некие готовые строки (это же физически невозможно, т.к. в них в них обычно входят пользовательские данные), а код склейки нескольких строк и параметров из остальной части программы. Естественно такое тоже реализуемо в любом языке с какой-то разновидностью метапрограммирования (сюда можно включить и препроцессоры типа t4), в теории. А вот на практике я про такое слышал в C++, в Rust'е, в D. А вот в C# (t4?) что-то не слышал. )))
_>>Всё правильно. Берём оверхед от рефлексии и всего остального и сравниваем со временем выполнения запроса. Если там будут не десятки процентов, то естественно можно наплевать на это всё.
I>Уже давно посчитали и наплевали.
Ну да, всего то пару ядер процессора сервера займёт и всё. Действительно какие мелочи, просто докупим ещё сервер, если что. )))
>> Кстати, а ты представляешь сколько на современной БД исполняется запрос вида "select count(*) from users"? ) Даже без кэширования...
I>Этот запрос есть практически в каждом приложении. Что бы далеко не ходить — открой статистику на рсдн. Она считай вся на таких запросах.
Верно) Но ты так и не сказал насчёт времени исполнения подобных запросов... )))