Следующий запрос обычно возвращает большое количество результатов (где-то около ~ 750 тыс. Результатов).Однако на производстве я сталкиваюсь со спорадической ситуацией, когда возвращается 0 результатов.Если бы мы перезапустили его в следующую секунду после того, как он вернул 0, он просто вернул бы результаты в обычном режиме.
Я уверен, что данные все еще там и что не должно быть ничего, что могло быудалите его ...
Я посмотрел в нескольких местах, и я никак не мог найти причину проблемы, о которой говорилось выше ... также, кажется, нет простого способаповторить это ... это просто случайно.
Поскольку мои знания SQL весьма ограничены, не могли бы вы подумать о некоторых сценариях, где это может произойти?Или, может быть, предложить простые способы отладки этого?
SELECT MAX(Table1.Cust_ID) AS cust_id, Table1.Email, MAX(Table1.Cust_Name) as cust_name
FROM dbo.Table1 WITH (NOLOCK)
INNER JOIN dbo.Table2 WITH (NOLOCK)
ON Table1.id = Table2.id
WHERE Table1.some_id = 100 AND Table1.some_value = 'test_value'
AND Table1.some_boolean_1 = 1
AND Table1.some_date_1 IS NULL
AND (Table1.some_boolean_2 IS NULL OR Table1.some_boolean_2 = 1)
AND (Table1.some_date_2 > '20171119' OR Table1.some_date_3 > '20171119' OR
Table2.some_date_3 > '20171119')
GROUP BY Table1.Email
Большое спасибо!