Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 July 22

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Какой-то Хмырь
т.е. по-твоему прямо сказать, что ты втираешь дичь - личности, а ехидно поливать гавном собеседника - высокий тон?
Кончайте сраца, по делу давайте
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Какой-то Хмырь
т.е. по-твоему прямо сказать, что ты втираешь дичь - личности, а ехидно поливать гавном собеседника - высокий тон?
По-моему, "втираешь мне какую-то дичь" и посылы вроде "Иди самоутверждайся в другом месте" — это прямое хамство.

> а ехидно поливать гавном собеседника - высокий тон?

Ссылку / цитату, или хватит врать.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Вообще, если подумать, фрагментация данных образуется только на определённых формах нагрузки на БД,
когда данные меняются, или когда вставляются особым образом.

Так что это не может быть в best practice для всех ...
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
Из практики: на таблице 100 млн записей ребилд кластерного индекса давал двукратный прирост производительности _отдельных_ запросов. Замерялось как на тестовом на сервере без нагрузки, так и на боевом на 10 000 пользователей. Дефрагментация некластерных индексов давала прирост на уровне плацебо (3-5%).
А падение производительности отдельных запросов при этом было (особенно INSERT/UPDATE)?
Вообще, простое уменьшение размера индекса вдвое для "тупого" (в смысле, читаем весь индекс) ETL, конечно, даст существенный эффект... только вот таких нагрузок (которые, во-первых, "раздувают" индекс / таблицу так, чтобы его можно было так сжать, и, во-вторых требуют чтения всей таблицы) — очень мало, в норме.
Ну и так далее...
источник

IC

Igor Chizhov in SqlCom.ru - Стиль жизни SQL
Заметного не было, иначе были бы инциденты
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
И да, вот ещё что — это, фактически, разделение нагрузки во времени, на самом деле — сейчас мы её увеличиваем (отдавая ресурсы на дефрагментацию), а потом "отыгрываем", получая более быстрый ETL.
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
Заметного не было, иначе были бы инциденты
Да уж совсем не обязательно были бы.
К примеру, создание дополнительных индексов мало кто замечает... а ведь это достоверно и доказуемо увеличивает нагрузку при каждом INSERT/UPDATE, и ничего. ;)
источник

IC

Igor Chizhov in SqlCom.ru - Стиль жизни SQL
Yaroslav Schekin
И да, вот ещё что — это, фактически, разделение нагрузки во времени, на самом деле — сейчас мы её увеличиваем (отдавая ресурсы на дефрагментацию), а потом "отыгрываем", получая более быстрый ETL.
Это также и в целом про индексы можно сказать. Отдаём место на диске и ресурсы на их построение, получая взамен более быстрый отклик.
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Igor Chizhov
Это также и в целом про индексы можно сказать. Отдаём место на диске и ресурсы на их построение, получая взамен более быстрый отклик.
Обратное тоже верно — к примеру, удалили несколько (бесполезных, как выяснилось) индексов с интенсивно используемых таблиц — и уже write-intensive транзакции ощутимо ускорились.
Просто обычно именно для создания индексов такой trade-off — это нормально и выгодно.
А вот что касается их "навязчивой" дефрагментации — обычно ровно наоборот. ;)
источник

DN

Denis Novickiy in SqlCom.ru - Стиль жизни SQL
Yaroslav Schekin
Обратное тоже верно — к примеру, удалили несколько (бесполезных, как выяснилось) индексов с интенсивно используемых таблиц — и уже write-intensive транзакции ощутимо ускорились.
Просто обычно именно для создания индексов такой trade-off — это нормально и выгодно.
А вот что касается их "навязчивой" дефрагментации — обычно ровно наоборот. ;)
Зачем тогда она существует?)
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Denis Novickiy
Зачем тогда она существует?)
Потому что крайние случаи, когда это выгодно, существуют тоже.
К примеру, противочумные костюмы существуют не просто так, и их использование в определённых ситуациях — нормально и выгодно.
А вот рутинно (без конкретных причин) ходить в нём повсюду — уже мизофобия. ;)
(А вовсе не best practice, как тут утверждали.)
источник

DN

Denis Novickiy in SqlCom.ru - Стиль жизни SQL
Yaroslav Schekin
Потому что крайние случаи, когда это выгодно, существуют тоже.
К примеру, противочумные костюмы существуют не просто так, и их использование в определённых ситуациях — нормально и выгодно.
А вот рутинно (без конкретных причин) ходить в нём повсюду — уже мизофобия. ;)
(А вовсе не best practice, как тут утверждали.)
Хм. У меня из всего обсуждения сложилось впечатление, что это не нужно никогда. Наверное, не правильно чиитал и упустил суть)
источник

YS

Yaroslav Schekin in SqlCom.ru - Стиль жизни SQL
Denis Novickiy
Хм. У меня из всего обсуждения сложилось впечатление, что это не нужно никогда. Наверное, не правильно чиитал и упустил суть)
Да нет же. Best practice — это то, что стоит делать "по-умолчанию", в большинстве реальных / обычных ситуаций.
Вот же пример приводили: https://t.me/sqlcom/137276 , да и другие несложно найти.
источник

R

RA-TA-TATA in SqlCom.ru - Стиль жизни SQL
Ребята, как можно быстро скопировать данные из одной таблицы в другую и очистить первую?
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
alter table switch
источник

R'

Rinal ' in SqlCom.ru - Стиль жизни SQL
Коллеги, всем доброго.
Подскажите плз, кто нибудь сталкивался с траблой фильтра в query store со значениями Max и Min?
в Top Resource Consuming Queries.
Ошибка доступа к базе возникает

Выдернул профайлером, там судя по всему ошибка в коде при конвертации значения в колонке max_query_wait_time из sys.query_store_wait_stats, при этом сама колонка в этой вьюшке названа max_query_wait_time_ms.

Пробовал заменить именование колонки в коде, но ошибка все равно возникает.
источник

k

karb0f0s in SqlCom.ru - Стиль жизни SQL
Rinal '
Коллеги, всем доброго.
Подскажите плз, кто нибудь сталкивался с траблой фильтра в query store со значениями Max и Min?
в Top Resource Consuming Queries.
Ошибка доступа к базе возникает

Выдернул профайлером, там судя по всему ошибка в коде при конвертации значения в колонке max_query_wait_time из sys.query_store_wait_stats, при этом сама колонка в этой вьюшке названа max_query_wait_time_ms.

Пробовал заменить именование колонки в коде, но ошибка все равно возникает.
версия сиквела какая? версия студии какая?
источник

R'

Rinal ' in SqlCom.ru - Стиль жизни SQL
сиквел 2019 15.0.2000.5, ssms 15.0.18330.0
источник

R'

Rinal ' in SqlCom.ru - Стиль жизни SQL
на стэке нашел аналогичную проблему, всё один в один, но без ответа https://stackoverflow.com/questions/49198106/couldnt-connect-to-database-when-using-top-resource-consumers-querystore-report
источник

ДС

Дмитрий Степанов... in SqlCom.ru - Стиль жизни SQL
Rinal '
сиквел 2019 15.0.2000.5, ssms 15.0.18330.0
18.5 уже давно
источник