Size: a a a

SqlCom.ru - уголок MS SQL

2021 June 20

M

Marat in SqlCom.ru - уголок MS SQL
источник

Д

Денис Лёвкин... in SqlCom.ru - уголок MS SQL
Спасибо за ссылки.
Немного дополнил условия.
Буду благодарен за личное мнение.
источник

M

Marat in SqlCom.ru - уголок MS SQL
Разбить на файлы можно, но точно не по предложенной схеме- каждый индекс в отдельную группу.
источник

АИ

Андрей Ильясов... in SqlCom.ru - уголок MS SQL
Привет
MSSQL блокирует все же строки или страницы? (я запутался)
источник

В

Вячеслав in SqlCom.ru - уголок MS SQL
Иногда и таблицы целиком. Ты можешь в хинтах указать что ты хочешь и если у сервака будут ресурсы, то он выполнит твою просьбу. Быть может 😂
источник

O

Oleg T in SqlCom.ru - уголок MS SQL
Хинты блокировки имеют обязательный характер. Исключение - эскалация блокировки, которая происходит при достижении одного из двух условий вне зависимости от хинтов. Все остальное - либо работает, как велено, либо не выполняется совсем.
источник

В

Вячеслав in SqlCom.ru - уголок MS SQL
Ну я примерно это и сказать хотел )
источник

АР

Александр Ройтман... in SqlCom.ru - уголок MS SQL
[Таблица-куча] with (serializable, rowlock) - обязательность исчезает.
источник

O

Oleg T in SqlCom.ru - уголок MS SQL
Ок
источник

O

Oleg T in SqlCom.ru - уголок MS SQL
В сравнении с ораклом, sql server очень даже обязателен в применении хинтов. Особенно в части типов соединения.
источник

DI

Dmitriy Ivanov in SqlCom.ru - уголок MS SQL
И то и другое может быть заблокировано. Зависит от конкретного запроса.
источник

АА

Ахмад Асхабалиев... in SqlCom.ru - уголок MS SQL
Как ускорить запрос?

SELECT * INTO #a FROM data
WHERE DateId BETWEEN 20210301 AND 20210401



если в таблице 1 миллиард строк

запрос выполняется час
источник

АА

Ахмад Асхабалиев... in SqlCom.ru - уголок MS SQL
можно ли как то получить рандомные данные из запроса ну например 1 млн строк

но у меня все равно долго все выполняется

я использовал ORDER BY NEWID() / TOP 900000
источник

O

Oleg T in SqlCom.ru - уголок MS SQL
Есть индекс по полю dateid? Точно нужны все колонки? Точно нужно результат помещать во временную таблицу или может дальше возможно использовать не времнную таблицу, а подзапрос?
источник

АА

Ахмад Асхабалиев... in SqlCom.ru - уголок MS SQL
Есть индекс по полю dateid? — да
Точно нужны все колонки? — нет
Точно нужно результат помещать во временную таблицу или может дальше возможно использовать не времнную таблицу, а подзапрос? — без разницы
источник

O

Oleg T in SqlCom.ru - уголок MS SQL
Вот это очень не быстро. Вы просите субд сгенерить млрд случайных гуидов, отсортировать по ним таблицу и выдать топ.
источник

O

Oleg T in SqlCom.ru - уголок MS SQL
Свести число возвращаемых колонок к необходимому минимуму, отказаться от временной таблицы.
источник

АА

Ахмад Асхабалиев... in SqlCom.ru - уголок MS SQL
необходимый минумум это 900k
источник

АА

Ахмад Асхабалиев... in SqlCom.ru - уголок MS SQL
т.е подзапросы ускорят процесс?
источник

O

Oleg T in SqlCom.ru - уголок MS SQL
Отказ от временной таблицы ускорит. Зачем ты их туда кладешь?
источник