|
![]() |
#1 |
Участник
|
Цитата:
я сформулировал свои вопросы в первом сообщении этой темы Как оптимально написать T-SQL запрос для выборки настройки Table/Group/All (например, счет ГК из профиля разноски) собственно главный вопрос - Как оптимально написать T-SQL запрос для выборки настройки Table/Group/All (ответ похоже получили. Но так писать не шибко удобно) побочный квест - как, на ваш взгляд должны быть устроены подобные настроечные таблицы, чтобы и без Аксаптовского кэширования можно было бы удобно работать с такими настроечными таблицами на уровне SQL? |
|
![]() |
#2 |
Модератор
|
Цитата:
Цитата:
Злодей
__________________
-ТСЯ или -ТЬСЯ ? Последний раз редактировалось Vadik; 21.04.2016 в 17:17. |
|
![]() |
#3 |
Участник
|
http://coub.com/view/2xtx9
Цитата:
Цитата:
Сообщение от mazzy
![]() ...
И для простоты я предлагаю обсуждать акс2009 и ниже. Поскольку сам принцип выборки данных из настроечных таблиц в акс2012 и выше не изменился. Но общие планы счетов (chart of accounts), безумные финансовые аналитики, включающие счет ГК, только захламят обсуждение, ничего не изменяя в сути вопроса. =================================== и все таки... может у кого есть что сказать? напомню, что сама идеология подобных таблиц появилась еще в Конкорде и в Навижине. Еще на базах собственного формата с построчным обращением к базе. SQL тогда был в младенчестве. |
|
![]() |
#4 |
Модератор
|
Не надо лохматить профили разноски. Материализуй связь между проводкой по клиенту и клиентскому счету в ГК через поле в CustTrans или таблицу сбоку и заполняй при разноске. И работать будет "удобно", и проблем с выверкой не будет
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
За это сообщение автора поблагодарили: Logger (1). |
![]() |
#5 |
Участник
|
Может быть, стоит пойти с этим вопросом на профильный форум на SQL.RU (хотя там задать его будет посложнее, скорее всего, будут требовать привести скрипты таблиц, статистику, а то и repro, конкретный запрос, и т.д. и т.п.), зато там уж скорее подскажут.
Кроме того, какие-то немного шаманские сравнения получаются. ![]() 1. IMHO, стоит включить SET STATISTICS TIME / SET STATISTICS IO (можно в опциях в Management Studio) и хотя бы смотреть, чтобы примерно то же количество чтений были логическими/физическими, и не ждал ли MS SQL во время выполнения кого-то ещё). 2. "То, о чем предупреждал Владимир Максимов" --- посмотреть Estimated number of rows в каждом плане, т.к. если оценки сильно отличаются от реальных, и Вы выберете этот план, то потом можно очень сильно пожалеть... Дело в том, что, выбирая в таких случаях по реальному времени выполнения, Вы просто надеетесь на удачу. ![]() 3. Да, а (если не накладывать условий на pSumAccount) сколько занимает такая же выборка из CustTrans? У Вас, похоже, большой её кусок считывается и передаётся на клиента, может всё время вообще на это уходит, откуда нам знать? ![]() 4. А какую версию MS SQL Server Вы используете (в разных версиях поведение может кардинально отличаться)? Последний раз редактировалось Ярослав Щекин; 22.04.2016 в 10:01. Причина: опечатка |
|
![]() |
#6 |
Участник
|
Цитата:
во-вторых, сделал список объектов в Аксапте, который использует перечисление TableGroupAll там 143 объекта (и это я еще кастомно-проектные убрал). среди них:
я подумал, что этого достаточно, чтобы поговорить о принципе в целом тема ветки: Как оптимально написать T-SQL запрос для выборки настройки Table/Group/All (например, счет ГК из профиля разноски) свою то проблему я давно решил. причем как это ни странно, наивным способом. А он оказался еще и самым быстрым. ну, можно и так.... Последний раз редактировалось mazzy; 22.04.2016 в 12:01. |
|
![]() |
#7 |
Участник
|
Цитата:
Цитата:
![]() |
|