Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Вопрос: можно ли посчитать процент фрагментации всей базы данных. Или нет такой функции? Конечно кто то может сказать , что повесь в планировщик реиндексацию и забей - в ответ скажу что хочу контролировать. Кто то скажет что можно посмотреть "sys.dm_db_index_physical_stats" , но там слишком детально , а когда у тебя десятки серверов и баз данных, то нужен 1 показатель по каждой базе данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 15:21 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44, вам к людям считающим среднюю температуру по больнице. Как таким людям дают десятки серверов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 15:25 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44но там слишком детально Скажу еще больше потяние фрагментация штука относительная. sys.dm_db_index_physical_stats не берет во внимание ин-мемори, колумнсторы и много еще чего по мелочи. TaPaK вам к людям считающим среднюю температуру по больнице Плюсую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 15:32 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
TaPaK, если вы такой умный, а не просто "троль" или может "бот" сервера... какой показатель фрагментации вам будет интересен и прозрачен? Хотя вы видимо один из тех кто крутит динамо и доказывает руководству о его полезности))) Нет ответа - пишем всякую хрень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 15:42 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44, Модератор: Если вам интереснее обсуждать участников, а не ваш вопрос, я могу закрыть тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 15:49 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44, Показатель должен быть такой: "в этой базе есть как минимум одна таблица, которой необходимо делать maintenance". А не среднее по больнице, как вам уже намекнули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 15:51 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, У таблицы есть вес. И если таблица дефрагметирована на 50% , а весит 16 КБ то и фиг с ней. Отобрать все весомые таблицы и их смотреть? Нужен индикатор который говорит о том что пора посмотреть на базу данных. По поводу намеков: средняя температура по больнице это нормальный показатель котроый можно вычислить исходя из санпина и применив распеределение по стьюденту))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:00 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenko, Прочитал один из ваших коментов - уточните почему вы считаете дефрагметацию не целессобразной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:04 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Кто то скажет что можно посмотреть "sys.dm_db_index_physical_stats" , но там слишком детально Хм, запрос к sys.dm_db_index_physical_stats - это обычный запрос. В SELECT можно указать необходимые колонки и агрегаты, если хочется высчитать некий показатель по всей базе. Также можно указать необходимые JOIN и фильтры по только "весомым" таблицам. Вообщем не вижу проблем, чтобы посчитать то, что вам надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:14 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Дмитрий МухХм, запрос к sys.dm_db_index_physical_stats - это обычный запрос. ...слегка поднимающий данные с диска в память. вам не доводилось работать на сервере с 24Гб памяти и базой в пару терабайт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:21 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Нужен индикатор который говорит о том что пора посмотреть на базу данных. Ну так надо данный показатель индикатор определить, посчитать и вывести. Если есть попугаи для каждой таблицы и её размеры. то несложно сделать либо фильтр по размерам/весу либо другой расчет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:25 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Вопрос: можно ли посчитать процент фрагментации всей базы данных. Или нет такой функции? Это выдумки, у базы нет процента фрагментации. Фрагментация есть у файла базы данных. Фрагментация есть у таблицы и индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:26 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Дмитрий Мух, Это все понятно и структуру параметров и ответа я знаю. Я считаю ,что зная назмер бд и весомость каждого индекса я могу посчить процент фрагментации всей БД. Но может есть проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:28 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Индекс это объект базы данных и он фрагментрован, значит база фрагментирована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:29 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44, фрагментация бывает логическая и физическая (в силу принципов работы разных типов дисков с ней можно бороться, но чаще всего это бессмысленно пример SSD + на виртуалке скажем от этого толку не будет). Если говорить за логическую, то вы добьетесь лишь уменьшения кол-ва страниц под хранения вашего индекса что положительно скажется на размере. И толку? Важнее актуальная статистика + если мы говорим за колумнсторы то чтобы не было открытых секций. Если уж сильно хочется среднее по больнице то можно так сделать: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Но серверу от такого будет очень плохо. Формально можно сделать быстрее, но суть не поменятся при каждом вызове будут физические чтения ибо инфу с этой системной функции сиксел не кеширует на постоянной основе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:31 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenko, При запросе раз в сутки на производительности не скажется. Здесь получился действительно средний по больнице коли такая формулировка принята)) Я сделал тоже самое но с учетом весомости индекса относительно веса базы данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:42 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44При запросе раз в сутки на производительности не скажется. вот же блин, нет, вы реально не запускали эту жопу на базе в 2Тб, ну или у вас памяти вагон ---- перевести бы некоторых на 24Гб, чтобы ценили то, что имеют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:44 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44При запросе раз в сутки на производительности не скажется. Я тут в соседнем топике про свою тулу чуть пиарю, но чтобы вы понимали я убил более полугода, чтобы найти хоть какой-то разумный компромисс при работе с sys.dm_db_index_physical_stats. Повторюсь данные оттуда не кешируются на постоянно основе. Все данные в таблицах что у вас есть буду высканиваться. PLE будет в районе нуля. Потом начнется новый день и что будет... тормоза :) Если памяти хватает и диски быстрые - то велкомс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:48 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Yasha123, Я могу себе позволить сделать это ночью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:50 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenko, Ссылку дадите? Мне жватет памяти и запускаю ночью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:52 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44, ссылку на что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:55 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenko, На свой профиль, где есть список тем автора, в котором одна тема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:56 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenko, Я тут в соседнем топике про свою тулу чуть пиарю, но чтобы вы понимали я убил более полугода, чтобы найти хоть какой-то разумный компромисс при работе с sys.dm_db_index_physical_stats.... на соседний топик и компромис)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:56 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenkogod44, ссылку на что? На ваш топик. Вы написали выше: "Я тут в соседнем топике про свою тулу чуть пиарю". Так вот человек не понял то, что соседний топик - это тема, созданная вами, и её трудно не найти в вашем профиле :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:57 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:58 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44компромис Сканировать не все обьекты а только те которые входят в диапазон по расчитанному заранее размеру индексов. Если хочется деталей то тут можно почитать (анонс правда на вторник только). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:59 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Дмитрий Мух, Спасибо Дмитрий за поддержку. Реально в профиле есть еще ссылки на хабр и там 32 темы а на соседний то топик и не обратил внимание)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 16:59 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Реально в профиле есть еще ссылки на хабр и там 32 темы а на соседний то топик и не обратил внимание)) Та вроде только одна запись. Если в поиске смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 17:01 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenko, Есть тесты по фрагметированным и не фрагметированным талицам? Можете показать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 17:09 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Владислав Колосов, Индекс это объект базы данных и он фрагментрован, значит база фрагментирована. Если колесо у машины лопнуло, значит и машина лопнула :) Верно мыслите! Таблица может занимать непрерывное пространство базы данных, но быть фрагментированной внутри этого пространства. При этом база не фрагментирована, а таблица - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 17:15 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Sergey Syrovatchenkoфрагментация бывает логическая и физическая (в силу принципов работы разных типов дисков с ней можно бороться, но чаще всего это бессмысленно пример SSD + на виртуалке скажем от этого толку не будет). Если говорить за логическую, то вы добьетесь лишь уменьшения кол-ва страниц под хранения вашего индекса что положительно скажется на размере С точностью до наоборот 1. Физическая фрагментация (она же заполненность страниц) влияет на размер индекса и она то как раз почти всегда влияет на скорость получения данных, т.к. меньше данных можно уместить в том же объеме памяти и как следствие происходит больше чтений с диска. Плюс, если говорить про SSD, нормальные SDD полки стоят не то чтобы совсем дешево. И использовать их, скажем, на 50 % только из-за фрагментации - так себе практика. 2. А вот логическая фрагментация ("физический" порядок расположения страниц индекса в файле), действительно, слабо влияет на те же SSD диски, где данные и так уже "перемешаны". "физический" в кавычках - т.к. это не более чем последовательность страниц файле данных, который сам по себе может быть фрагментирован, я уже не говоря про рейды, когда соседние страницы в файле могут лежать вообще на разных физических носителях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 17:18 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Sergey Syrovatchenko, Я тут в соседнем топике про свою тулу чуть пиарю, но чтобы вы понимали я убил более полугода, чтобы найти хоть какой-то разумный компромисс при работе с sys.dm_db_index_physical_stats.... на соседний топик и компромис))Да те же яйца только в профиль. Что вашей тулзой что напрямую запросом разница какая? Все равно придется те же данные физически читать с диска в память. Что будет особо критично на огромных базах. На маленьких конечно можно поиграть. god44, Считать фрагментацию каждый день только ради того чтобы в отчете показать красненьким базы - полная глупость. Если уж посчитали и подняли с диска в память ну так сразу и дефрагментируйте если нужно. И желательно объект за объектом. А не так что 3 часа считали фрагментацию по все базам, переписали память 10 раз, а потом опять те же данные пошли читать, ну а тут и maintenance window подошел к концу, и не успели закончить. А на следующий день все сначала начинать. Ваше желание контролировать на таком уровне не имеет никакого смысла. Поставьте проверенное решение по ребилду индексов в джоб, а потом смотрите логи если уж так хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 22:40 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Mind, А есть понимание что sys.dm_db_index_physical_stats поднимает? На больших базах она сущий ад, но как-то не интересовался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2019, 23:19 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
TaPaKMind, А есть понимание что sys.dm_db_index_physical_stats поднимает? На больших базах она сущий ад, но как-то не интересовался Зависит от подробности вывода данных. Например, при "detailed", когда выдаётся заполненность страниц, происходит скан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2019, 08:30 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
msLex, А при Limited? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2019, 20:12 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44msLex, А при Limited?А при limited не происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2019, 22:32 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Получается , что при limited нет сканирования дисков и степень фрагментации я получаю ту которую собрал скуль ранее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 10:49 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Получается , что при limited нет сканирования дисков и степень фрагментации я получаю ту которую собрал скуль ранее? нет, нифига не получается. не сканируется листовой уровень. получаете ущербный результат. BOLThe LIMITED mode is the fastest mode and scans the smallest number of pages. For an index, only the parent-level pages of the B-tree (that is, the pages above the leaf level) are scanned. почему бы самому хэлп не почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2019, 11:00 |
|
||
|
Дефрагметация базы данных
|
|||
|---|---|---|---|
|
#18+
god44Sergey Syrovatchenko, Еще раз прошу. Так как вы рекомедуете людям на хабре не дефрагментировать. Есть тесты по фрагметированным и не фрагметированным талицам? Можете показать ? Ниже привожу тест Объем данных: 1 таблицы, Data 1 GiB, Index 39 MB Диск обычный, SSD в 0 рейде и серверные диски в 10 рейде Тест проводился описанным вами инструментом "SqlQueryStress" Так как нагрузки на базу нет - инструмент дает возможность запустить параллельные запросы. Использовалось 200 запросов. Запрос: Код: sql 1. 2. 3. Результат запроса = 33 И вопрос еще раз. Почему вы рекомендуете не дефрагментировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2019, 20:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1687541]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 373ms |

| 0 / 0 |
