Показать сообщение отдельно
Старый 12.12.2009, 20:00   #107  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Vezunchik Посмотреть сообщение
ну и чтобы развеять читающих сей топик про SQL в аксапте:
forcePlaceholders
этих команд у SQL никогда не было. это чисто аксаптовская замануха
В SQL н было (точнее было, но в хранимых процедурах, которые используются механизмами доступа данных от MS и не рекомендуются к использованию в сторонних проектах, типа sp_cursor*), а вот в технологиях доступа к данным от MS всегда были методы подготовки запроса и его выполнение (то что делает forcePlaceholders) или выполнение сразу (forceLterals). Это было еще в ODBC, перекочевало в OleDB, затем в ADO, ну и наконец существует теперь в ADO.NET в SqlCommand.Prepare области имен System.Data. Так что говорить по аксптовскую замануху человеку, который 6 лет экспериментировал с SQL Server напрямую (не используя СУБД интерпретаторы запросов) немного некорректно. Кстати, что значит напрямую? Даже QA использует некоторые библиотеки доступа.
Цитата:
сравнение ERP систем
Я сам был кода-то одинэсником и знаю, что большинство не "не читатели, а писатели", но название темы прочесть-то можно?
Цитата:
не устраивает работа стандартного 1с интерпретатора, используй прямые запросы к скулю.
Тема вообще-то о сравнении платформ, а не о том, что можно сделать, если чего-то не хватает.Платформа 1С предоставляет возможность прямых запросов? Именно платформа, а не COM и прочие? (Акса-то предоставляет, но не поощряет, хотя в DAX4 при резервировании использует это). Кстати, 1С теперь позиционируется как кроссплатформенное решение, как делать оптимальные прямые запросы, если база данных может быть как MS SQL, так и Oracle, DB2, так и PostgreSQL и т.п.?
А вот по поводу того, что в MS SQL есть четко ограниченное количество таблиц, при превышении которого оптимизатор перестает работать я не слышал (хотя я не супер спец по MS SQL, поэтому может быть это просто пробел в моих знаниях). То, что я читал в MSDN Magazine про то, что оптимизатор при некоторой сложности запроса может прекратить поиск оптимального плана и выполнять не самый оптимальный (а то и сканирование таблиц), но каких-то конкретных цифр там не приводилось.
С другой стороны, какая разница, как MS SQL обрабатывает зарос? То, что в 1С язык запросов похож на SQL совсем не значит, что именно написанный запрос прямо будет соответствовать тому, что будет послано на сервер. Во-первых, 1С кросплатформенная и так или иначе ядру придется приводить этот запрос к виду, который понимает целевая база. Кстати, какие механизмы и библиотеки при этом использует 1С? Во-вторых, в запросах 1С есть некоторые дополнительные возможности и как будет отрабатываться запрос, если в нем есть виртуальные таблицы (например, СрезПоследних) или разименование через точки?