Четверг, 02.05.2024, 10:48
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Прочее » Консоль запросов. Пожелание
Консоль запросов. Пожелание
GravitatorДата: Пятница, 11.03.2016, 06:25 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 29
Репутация: 28
Статус: Оффлайн
Здравствуйте

Возникло два пожелания к консоли:

1. Зачем сортируются временные таблицы после выполнения запроса? По мне намного удобнее для отладки если таблицы идут в порядке их появления в запросе. Предлагаю что бы сортировка была отключена или был выбор: сортировать/не сортировать (например в настройках). Сейчас отключаю это сам после наложения ИР. Остальные программеры довольны.

2. Доработал немного консоль в плане следующего: в дереве запросов добавил 2 колонки - время и дата последнего выполнения запроса, помогает ориентироваться когда последний раз был выполнен запрос. Удобно когда долго не работал запросом - сразу видно когда был последний доступ к нему. Хотелось бы добавить в основной релиз.

Конфу с доработками можно скачать здесь: https://yadi.sk/d/aIczsuSBq4ugV
 
tormozitДата: Пятница, 11.03.2016, 09:18 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6183
Репутация: 156
Статус: Оффлайн
Почему то многие путают консоль запросов и конструктор запроса. Кажется большинству программистов должна быть четко понятна разница, но статистика говорит об обратном =) Исправил название темы.

1. В общем случае порядок появления (обращения к) временных таблиц в запросе может не совпадать с порядком их создания и будет возникать путаница. Порядок по алфавиту обладает наименьшим максимумом неудобства. Представь, что ты открыл чужой запрос впервые и хочешь в списке из 20 временных таблиц найти нужную, обращение к которой ты увидел в 17-м запросе пакета. Тебе придется изучить весь пакетный запрос, чтобы понять порядок появления (обращения к). Поэтому по умолчанию останется алфавитный порядок. Хотелось бы увидеть пример пакетного запроса, в котором предлагаемый порядок будет полезен.

2. В дереве запросов можно добавить много колонок, но в силу его обычно малой ширины, эти дополнительные колонки, особенно широкие, просто не будут умещаться и потому кажется от них не будет много пользы. Хотелось бы увидеть скриншоты, чтобы лучше понять при какой ширине самого табличного поля и его других колонок ты используешь эти колонки. Возможно вместо даты и времени последнего выполнения будет рациональнее показывать возраст последнего выполнения в минутах (будет обновляться при периодической перерисовке табличного поля раз в 60 сек)? Это потребует заметно меньшей ширины колонки.
 
GravitatorДата: Пятница, 11.03.2016, 11:43 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 29
Репутация: 28
Статус: Оффлайн
Опс... я просто скопировал название темы чуть ниже и не посмотрел что там конструктор, а не консоль.

1. а) Настолько общий случай что порядок появления временных таблиц не совпадает с порядком их создания я не встречал. Хотя приходилось разбирать и очень здоровые запросы из УПП. По крайне мере после отключения сортировки все временные таблицы всегда шли в том порядке что и в запросе.
    б) В случае чужого запроса может (скорее всего) и выгодно когда все отсортировано, да и то не всегда, а вот в случае отладки своего запроса, который знаешь вдоль и поперек, это уже несовсем неудобно, ибо хочется понять на каком этапе накосячил.
    
    З.Ы. поэтому и предлагаю вынести этот пункт как настройка консоли. Кому как удобно будет так и настроит.

2. Скриншот:



Разрешение монитора 1920х1080
Здесь больше роль играет разрешение по горизонтали (думаю что и при 1280 проблем не будет),а сейчас редко встретишь монитор меньшего разрешения.
Второе: а зачем нужно время возраст последнего выполнения в минутах, как он будет обновляться если к файлу с запросами возвращаешься спустя месяц, полгода или год? А здесь всегда знаешь когда последний раз обращался к тому или иному запросу, особенно если много запросов в дереве?

З.Ы. Не по теме: все хочу спросить, а почему при получении строки соединения с информационной базой при работе клиент-серверном варианте используется фоновое задание?
Прикрепления: 5485294.jpg (191.3 Kb)
 
tormozitДата: Пятница, 11.03.2016, 12:03 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6183
Репутация: 156
Статус: Оффлайн
Про порядок появления и создания временных таблиц. Временные таблицы хранятся в менеджере временных таблиц. Запросов с одним менеджером временных таблиц может выполняться много. Поэтому временные таблицы могли быть созданы в одном из предыдущих выполнений запроса с этим менеджером. Порядок их обращения к ним в текущем тексте запроса может сильно не совпадать с порядком хронологии их создания, которая в общем случае может быть неизвестна.

По поводу ширины экрана в 1280 пикселей поверь мне ты заблуждаешься.

Врядли средний человек будет помнить много дат последних выполнений запросов. Скорее он будет помнить, какие запросы он выполнял раньше и позже во времени. И чем дальше назад во времени, тем хуже он помнит детали. Поэтому возраст кажется наиболее подходящим показателем. Храниться будет конечно же дата+время последнего выполнения, а отображаться будет разница с текущей датой. При этом я не отрицаю, что у абсолютного выражения дата+время есть свои преимущества.

Получение строки соединения в фоновом задании позволяет получать ее одинаковым образом в любом сеансе в отличие от выполнения метода непосредственно в своем сеансе.
 
tormozitДата: Воскресенье, 13.03.2016, 21:49 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 6183
Репутация: 156
Статус: Оффлайн
В 3.54 в дереве запросов добавлена скрытая по умолчанию колонка "Возраст выполнения, минут"
 
GravitatorДата: Пятница, 18.03.2016, 06:49 | Сообщение # 6
Сержант
Группа: Проверенные
Сообщений: 29
Репутация: 28
Статус: Оффлайн
Еще раз здраствуйте...

По поводу пункта 1 первого сообщения был не прав... Разобрался, в общем случае действительно удобней сортировать по именам временных таблиц. И возникло такое предложение: в списке временных таблиц добавить колонку в которой указывать имя запроса (как оно указано в дереве запросов) где она была сформирована.
Как пример: сейчас разбираю два запроса не своих, второй запрос использует временные таблицы первого, всего получилось 41 временная таблица, и чтобы найти где создается та или иная таблица надо просматривать оба запроса, а так было бы быстрее.
 
tormozitДата: Пятница, 18.03.2016, 08:27 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 6183
Репутация: 156
Статус: Оффлайн
Определение запроса создания временной таблицы будет занимать много времени. А обновляется список временных таблиц часто. Это ударит по удобству работы.
Используй для этой цели конструктор запроса ИР и смотри там. Там все временные таблицы тоже видны и можно переходить к запросу ее создания.
 
Форум » Основной » Прочее » Консоль запросов. Пожелание
  • Страница 1 из 1
  • 1
Поиск: