Size: a a a

2020 June 03

MC

Max Chistyakov in sql_ninja
Использование функций при составлении условий соединения и в выражениях WHERE
источник

AS

Alexandr Shoulyar in sql_ninja
Max Chistyakov
откройте в ssms эту таблицу, посмотрите есть ли во вкладке "индексы" индекс на этот столбец
скорее всего причина в том, что вы применяете к индексированному столбцу функцию в WHERE, и вместо поиска по индексу начинается сканирование
не уникальный,  Некластеризованный
источник

MC

Max Chistyakov in sql_ninja
не юзайте в Where функции для фильтрации по столбцу (впрочем, об этом статья)
источник

БM

Богдан M in sql_ninja
Добрый день. Прошу подсказать, как получить статистику по выполненным бекапам для бд, историю так сказать. Смотрю таблички в msdb, связанные с бекарами, не то
источник

TS

Tim Safari in sql_ninja
Богдан M
Добрый день. Прошу подсказать, как получить статистику по выполненным бекапам для бд, историю так сказать. Смотрю таблички в msdb, связанные с бекарами, не то
DECLARE @Dt AS DATE = DATEADD(dd,-1,CAST(GETDATE() AS DATE))

SELECT
 s.server_name,
 s.backup_set_id,
 s.media_set_id,
 s.description,
 s.database_name,
 s.backup_start_date,
 s.backup_finish_date,
 f.physical_device_name
 bf.logical_name,
 bf.file_number,
 bf.physical_name
FROM msdb.dbo.backupset s
 JOIN msdb.dbo.backupmediafamily f
   ON f.media_set_id = s.media_set_id
 JOIN msdb.dbo.backupfile bf
   ON bf.backup_set_id = s.backup_set_id
WHERE
 server_name = ''
 AND s.database_name = ''
 AND s.backup_start_date >= @Dt

я так брал
источник

TS

Tim Safari in sql_ninja
если условие на дату убрать - дофига статистики получается )
источник

РR

Руслан Ruslan73... in sql_ninja
Max Chistyakov
на b1.Mobile индекс есть?
Индекс на b1.AgeementMobile возможно тоже (более) интересен?
источник

MC

Max Chistyakov in sql_ninja
я предположил, что на всех нужных полях есть уже индексы)
источник

MC

Max Chistyakov in sql_ninja
если их нет - то понять, насколько часто будет кидаться этот запрос, и добавить если кидается часто)
источник

РR

Руслан Ruslan73... in sql_ninja
Можно попробовать select упростить до select count(*) и последовательно поудалять разные условия, пытаясь понять какое именно условие во where все ставит колом.
источник

AS

Alexandr Shoulyar in sql_ninja
медленно отрабатывает только если добавить проверку на длину номера

но как тогда фильтровать такие запросы правильно?
источник

MC

Max Chistyakov in sql_ninja
не проверять длину номера) скорее всего, это косвенный признак - нужен основной
источник

AS

Alexandr Shoulyar in sql_ninja
нет другого)

буем просить сделать поле - Длина номера
источник

MC

Max Chistyakov in sql_ninja
а зачем вообще нужна длина номера
источник

AS

Alexandr Shoulyar in sql_ninja
Ну стандартная длина номера 12 символов
В базе есть некорректный номера и их длина больше или меньше
Вот их брать не надо
источник

MC

Max Chistyakov in sql_ninja
Может, лучше исправить это
сделать NULL в некорректных номерах
Валидировать номер на стороне клиента
И не нужен будет запрос на длину
источник

AS

Alexandr Shoulyar in sql_ninja
может быть, может быть

спасибо за пояснение
источник

БM

Богдан M in sql_ninja
Tim Safari
DECLARE @Dt AS DATE = DATEADD(dd,-1,CAST(GETDATE() AS DATE))

SELECT
 s.server_name,
 s.backup_set_id,
 s.media_set_id,
 s.description,
 s.database_name,
 s.backup_start_date,
 s.backup_finish_date,
 f.physical_device_name
 bf.logical_name,
 bf.file_number,
 bf.physical_name
FROM msdb.dbo.backupset s
 JOIN msdb.dbo.backupmediafamily f
   ON f.media_set_id = s.media_set_id
 JOIN msdb.dbo.backupfile bf
   ON bf.backup_set_id = s.backup_set_id
WHERE
 server_name = ''
 AND s.database_name = ''
 AND s.backup_start_date >= @Dt

я так брал
Да, спасибо. Я уже тоже разобрался, первый раз смотрел на эти таблички и что-то не складывалось
источник

TS

Tim Safari in sql_ninja
Богдан M
Да, спасибо. Я уже тоже разобрался, первый раз смотрел на эти таблички и что-то не складывалось
пожалуйста )
Это да, с первого раза не часто все понятно
источник

K

Kostya in sql_ninja
Alexandr Shoulyar
нет другого)

буем просить сделать поле - Длина номера
Не длина номера, а битовое поле-признак, 12 ЛИ лина номера или нет, т.е. валиден ли номер или нет
источник