AXForum  
Zurück   AXForum > Рынок > Сравнение ERP-систем
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 07.12.2009, 14:05   #9  
sukhanchik ist offline
sukhanchik
Administrator
Benutzerbild von sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.343 / 3563 (125) ++++++++++
Registriert seit: 13.06.2004
Ort: Москва
Zitat:
Zitat von Сисой Beitrag anzeigen
В ряде случаев (отбор по критерию "равно") 1С просто решает эту проблему по другому. В языке запросов 1С есть оператор В (IN), который умеет принимать в качестве операнда список объектных значений. Такой запрос автоматически транслируется 1С в объединение кучи одинаковых подзапросов с UNION ALL и подстановкой разных значений в условия сравнения. План запроса один и тот же.
Zitat:
Zitat von mazzy Beitrag anzeigen
Если честно, то похоже ты вообще не понял о чем речь.
Если кто-то может дать ссылки или объяснить в двух словах (проще, чем в статье), пожалуйста, сделайте это.
Давайте определимся - о чем говорим.
Сисой (как я понимаю) - говорит о том, что если нужно выбрать дискретные данные из таблицы (допустим выбрать 10 клиентов поименно), то 1С поддерживает оператор T-SQL IN и запрос, отсылаемый на сервер принимает вид:

SELECT * FROM CUSTTABLE WHERE ACCOUNTNUM IN ('Клиент1', 'Клиент2', 'Клиент3', ..., 'Клиент 10')

Т.е. вместо того, чтобы слать 10 запросов вида SELECT * FROM CUSTTABLE WHERE ACCOUNTNUM = 'Клиент1' шлется одна вышеприведенная инструкция (это к слову о том, что 1С считает что лучше один большой запрос, чем 10 маленьких).

Но вот мне кажется, что если в коде в 1С последовательно написать строчки:
SELECT * FROM CUSTTABLE WHERE ACCOUNTNUM = 'Клиент1' и
SELECT * FROM CUSTTABLE WHERE ACCOUNTNUM = 'Клиент2'

То в БД уйдет 2 запроса и для каждого запроса будет строиться план.

При этом mazzy говорит о том, что AX (если в коде будут написаны 2 такие же строчки) отправит в БД тоже 2 запроса:
SELECT * FROM CUSTTABLE WHERE ACCOUNTNUM = :p1 и
SELECT * FROM CUSTTABLE WHERE ACCOUNTNUM = :p1

А уже вместо переменной p1 ПОСЛЕ построения плана запроса будет подставлено конкретное значение.
Разница между АХ и 1С тут будет в том, что план запроса в АХ будет строиться только 1 раз, а время, затрачиваемое БД на построение плана запроса и подстановку значения переменной несоизмеримо на больших объемах данных.

Zitat:
Zitat von mazzy Beitrag anzeigen
за размером temptableтоже надо следить вручную :)
А вот тут кстати - есть "хорошая новость" любителям временных таблиц (это относится к любым системам).
Переливая данные во временную таблицу - мы теряем производительность на больших объемах данных, т.к.
1) Выборки из постоянных таблиц м.б. неполными (например формы в АХ тянут не все записи из таблицы, а только видимые + небольшой хвостик). А переливка во временную таблицу м.б. гораздо большего кол-ва записей, чем отображаемые. Но это больше к АХ относится как мне кажется
2) Помимо размера временной таблицы - никто не говорит про индексы. Переливая из постоянной таблицы данные во временную - мы фактически отказываемся от использования индексов - что естественно отражается на произовдительности на больших объемах данных.

Подчеркну - если во временной таблице - небольшое кол-во данных - то указанные мною ограничения отсутствуют. Но как только во временную таблицу будут переливаться тысячи записей - то ограничения почуствуются
__________________
Возможно сделать все. Вопрос времени

Geändert von sukhanchik (07.12.2009 um 14:08 Uhr)
This post has been rated by: mazzy (2).
Stichworte
1c, платформа, сравнение систем

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
1С: Франчайзи - есть ли будущее? miklenew Другие системы на рынке 13 03.10.2009 12:22
Изменения ассортимента, цен, условий поставки и сопровождения ряда продуктов «1С:Предприятия 7.7» mazzy Другие системы на рынке 40 30.04.2008 23:31
Обсуждение документа "Сравнение 1С и AX" Кузнецов Александр Сравнение ERP-систем 44 20.02.2008 13:56
Платформа «1С:Предприятие» как средство разработки бизнес-приложений Morpheus Другие системы на рынке 1 26.12.2006 13:10
1С ищет стратегического инвестора Роман Кошелев Другие системы на рынке 1 16.04.2003 23:02

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 05:12 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.