Консоль запросов. Пожелание
|
|
Gravitator | Дата: Пятница, 11.03.2016, 06:25 | Сообщение # 1 |
Сержант
Группа: Проверенные
Сообщений: 29
Репутация: 28
Статус: Оффлайн
| Здравствуйте
Возникло два пожелания к консоли:
1. Зачем сортируются временные таблицы после выполнения запроса? По мне намного удобнее для отладки если таблицы идут в порядке их появления в запросе. Предлагаю что бы сортировка была отключена или был выбор: сортировать/не сортировать (например в настройках). Сейчас отключаю это сам после наложения ИР. Остальные программеры довольны.
2. Доработал немного консоль в плане следующего: в дереве запросов добавил 2 колонки - время и дата последнего выполнения запроса, помогает ориентироваться когда последний раз был выполнен запрос. Удобно когда долго не работал запросом - сразу видно когда был последний доступ к нему. Хотелось бы добавить в основной релиз.
Конфу с доработками можно скачать здесь: https://yadi.sk/d/aIczsuSBq4ugV
|
|
| |
tormozit | Дата: Пятница, 11.03.2016, 09:18 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| Почему то многие путают консоль запросов и конструктор запроса. Кажется большинству программистов должна быть четко понятна разница, но статистика говорит об обратном =) Исправил название темы.
1. В общем случае порядок появления (обращения к) временных таблиц в запросе может не совпадать с порядком их создания и будет возникать путаница. Порядок по алфавиту обладает наименьшим максимумом неудобства. Представь, что ты открыл чужой запрос впервые и хочешь в списке из 20 временных таблиц найти нужную, обращение к которой ты увидел в 17-м запросе пакета. Тебе придется изучить весь пакетный запрос, чтобы понять порядок появления (обращения к). Поэтому по умолчанию останется алфавитный порядок. Хотелось бы увидеть пример пакетного запроса, в котором предлагаемый порядок будет полезен.
2. В дереве запросов можно добавить много колонок, но в силу его обычно малой ширины, эти дополнительные колонки, особенно широкие, просто не будут умещаться и потому кажется от них не будет много пользы. Хотелось бы увидеть скриншоты, чтобы лучше понять при какой ширине самого табличного поля и его других колонок ты используешь эти колонки. Возможно вместо даты и времени последнего выполнения будет рациональнее показывать возраст последнего выполнения в минутах (будет обновляться при периодической перерисовке табличного поля раз в 60 сек)? Это потребует заметно меньшей ширины колонки.
|
|
| |
Gravitator | Дата: Пятница, 11.03.2016, 11:43 | Сообщение # 3 |
Сержант
Группа: Проверенные
Сообщений: 29
Репутация: 28
Статус: Оффлайн
| Опс... я просто скопировал название темы чуть ниже и не посмотрел что там конструктор, а не консоль.
1. а) Настолько общий случай что порядок появления временных таблиц не совпадает с порядком их создания я не встречал. Хотя приходилось разбирать и очень здоровые запросы из УПП. По крайне мере после отключения сортировки все временные таблицы всегда шли в том порядке что и в запросе. б) В случае чужого запроса может (скорее всего) и выгодно когда все отсортировано, да и то не всегда, а вот в случае отладки своего запроса, который знаешь вдоль и поперек, это уже несовсем неудобно, ибо хочется понять на каком этапе накосячил. З.Ы. поэтому и предлагаю вынести этот пункт как настройка консоли. Кому как удобно будет так и настроит.
2. Скриншот:
Разрешение монитора 1920х1080 Здесь больше роль играет разрешение по горизонтали (думаю что и при 1280 проблем не будет),а сейчас редко встретишь монитор меньшего разрешения. Второе: а зачем нужно время возраст последнего выполнения в минутах, как он будет обновляться если к файлу с запросами возвращаешься спустя месяц, полгода или год? А здесь всегда знаешь когда последний раз обращался к тому или иному запросу, особенно если много запросов в дереве?
З.Ы. Не по теме: все хочу спросить, а почему при получении строки соединения с информационной базой при работе клиент-серверном варианте используется фоновое задание?
|
|
| |
tormozit | Дата: Пятница, 11.03.2016, 12:03 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| Про порядок появления и создания временных таблиц. Временные таблицы хранятся в менеджере временных таблиц. Запросов с одним менеджером временных таблиц может выполняться много. Поэтому временные таблицы могли быть созданы в одном из предыдущих выполнений запроса с этим менеджером. Порядок их обращения к ним в текущем тексте запроса может сильно не совпадать с порядком хронологии их создания, которая в общем случае может быть неизвестна.
По поводу ширины экрана в 1280 пикселей поверь мне ты заблуждаешься.
Врядли средний человек будет помнить много дат последних выполнений запросов. Скорее он будет помнить, какие запросы он выполнял раньше и позже во времени. И чем дальше назад во времени, тем хуже он помнит детали. Поэтому возраст кажется наиболее подходящим показателем. Храниться будет конечно же дата+время последнего выполнения, а отображаться будет разница с текущей датой. При этом я не отрицаю, что у абсолютного выражения дата+время есть свои преимущества.
Получение строки соединения в фоновом задании позволяет получать ее одинаковым образом в любом сеансе в отличие от выполнения метода непосредственно в своем сеансе.
|
|
| |
tormozit | Дата: Воскресенье, 13.03.2016, 21:49 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| В 3.54 в дереве запросов добавлена скрытая по умолчанию колонка "Возраст выполнения, минут"
|
|
| |
Gravitator | Дата: Пятница, 18.03.2016, 06:49 | Сообщение # 6 |
Сержант
Группа: Проверенные
Сообщений: 29
Репутация: 28
Статус: Оффлайн
| Еще раз здраствуйте...
По поводу пункта 1 первого сообщения был не прав... Разобрался, в общем случае действительно удобней сортировать по именам временных таблиц. И возникло такое предложение: в списке временных таблиц добавить колонку в которой указывать имя запроса (как оно указано в дереве запросов) где она была сформирована. Как пример: сейчас разбираю два запроса не своих, второй запрос использует временные таблицы первого, всего получилось 41 временная таблица, и чтобы найти где создается та или иная таблица надо просматривать оба запроса, а так было бы быстрее.
|
|
| |
tormozit | Дата: Пятница, 18.03.2016, 08:27 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| Определение запроса создания временной таблицы будет занимать много времени. А обновляется список временных таблиц часто. Это ударит по удобству работы. Используй для этой цели конструктор запроса ИР и смотри там. Там все временные таблицы тоже видны и можно переходить к запросу ее создания.
|
|
| |