Можно заменить на EXCEPT, можно NOT EXISTS, но это все сомнительная оптимизация. Потому что вариант выше MSSQL оптимизирует хитрого исключающего джоина.
В целом, схржая конструкция на полумиллиарде записей отрабатывала у меня меньше, чем за секунду. Я так искал цепочки логов с разрывом по времени больше N минут.
> База, если используется сквозная нумерация, просто не сможет выдать эти номера непоследовательно.
Да как нех. Чуть сложнее, чем просто Identity или Sequence. Маркируешь "удаленную" запись чем-то и выбираешь или ее, или (если ничего не нашлось) новый номер.
Можно и без маркировки, что-то типа: SELECT TOP 1 Id FROM Patients WHERE Id NOT IN (SELECT T1.Id from Patients T1 JOIN Patients T2 ON T1.Id + 1 = T2.Id) AND Id NOT IN (SELECT MAX(Id) FROM Patients) - оно найдет все Id для которых не существует пары, отличающейся на единицу и исключит последний (для него пары еще нет), потом возьмет первый найденный. Можно записать сразу CTE с COALESCE, чтобы одним выражением ебануть и генерацию нового Id, переиспользовав MAX.
Но возникает резонный вопрос - зачем так заморачиваться?
Например, ликвидация Усамы бен Ладена, когда США настолько охуели, что отправили в другую страну свой спецназ, даже не позаботившись это как-то согласовать. И зачистили всех, кто находился в доме, где прятался Усама. И если с ним как-то еще можно было съехать с темы, признав его комбатантом, то с остальными получилось совсем некрасиво.
Собственно, в названии отражена суть дальнейших рассуждений - мол, хуже-то точно не будет, а эффективность опирается на российскую статистику.
Side-effect questions
А тут в пример приводится статистика из Аргентины. Мол, никто не умер.
Собственно, вот и вся статья.
От себя добавлю, что в первой статье в Ланцете была интересная особенность - хотя количество легких случаев течения болезни от Спутника сокращалось, количество тяжелых оставалось примерно таким же как и у невакцинированных. Что, наверное, хорошо для снижения скорости распространения коронавируса, но по сравнению с другими вакцинами - как-то не очень.
Иными словами, вопрос не в том, опасен ли Спутник, а в том, кто ответит за то, что люди умирают из-за некачественной вакцины, когда в мире есть как минимум три хороших вакцины с доказанной эффективностью?
Реальные выходы из кризиса знают все и они надежнее, проще и дешевле: Шереметьво, Пулково, Домодедово.
В целом, схржая конструкция на полумиллиарде записей отрабатывала у меня меньше, чем за секунду. Я так искал цепочки логов с разрывом по времени больше N минут.
Да как нех. Чуть сложнее, чем просто Identity или Sequence. Маркируешь "удаленную" запись чем-то и выбираешь или ее, или (если ничего не нашлось) новый номер.
Можно и без маркировки, что-то типа:
SELECT TOP 1 Id FROM Patients WHERE Id NOT IN (SELECT T1.Id from Patients T1 JOIN Patients T2 ON T1.Id + 1 = T2.Id) AND Id NOT IN (SELECT MAX(Id) FROM Patients) - оно найдет все Id для которых не существует пары, отличающейся на единицу и исключит последний (для него пары еще нет), потом возьмет первый найденный. Можно записать сразу CTE с COALESCE, чтобы одним выражением ебануть и генерацию нового Id, переиспользовав MAX.
Но возникает резонный вопрос - зачем так заморачиваться?
https://www.nature.com/articles/d41586-021-01813-2
Если влом читать все, то посмотри два раздела:
Two viral vectors are better than one?
Собственно, в названии отражена суть дальнейших рассуждений - мол, хуже-то точно не будет, а эффективность опирается на российскую статистику.
Side-effect questions
А тут в пример приводится статистика из Аргентины. Мол, никто не умер.
Собственно, вот и вся статья.
От себя добавлю, что в первой статье в Ланцете была интересная особенность - хотя количество легких случаев течения болезни от Спутника сокращалось, количество тяжелых оставалось примерно таким же как и у невакцинированных. Что, наверное, хорошо для снижения скорости распространения коронавируса, но по сравнению с другими вакцинами - как-то не очень.
Иными словами, вопрос не в том, опасен ли Спутник, а в том, кто ответит за то, что люди умирают из-за некачественной вакцины, когда в мире есть как минимум три хороших вакцины с доказанной эффективностью?