|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
Всем привет. У меня имеется скрипт который по идеи должен делать оптимизацию базы данных но меня что то смущает в нем... Опыта у меня мало а экспериментировать - чревато последствиями... Прошу вашей помощи растолковать что это за "фрукт" Спасибо. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 14:39 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
STestS, проносится ураганом курсором по всем онлайн базам данных, получая имя бд и ее ид. на каждой итерации курсора вызывает хранимую процедуру [dbo].[ReIndex] в базе данных [BASE] передавая ей на вход ид текущей базы в курсоре. что делает данная процедура хз ибо явно какой то самопис. теперь вопрос к ТС: а вы уверены что вам нужно запускать этот скрипт для оптимизации? вы испытываете какие то реальные проблемы? или это запуск "для профилактики"? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 14:47 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
felix_ff STestS, теперь вопрос к ТС: Честно говоря я не уверен в том что данный код оптимизирует что то по этому и обратился за помощью... Сейчас постараюсь найти процедуру... Проблем как таких с базой нету, мне сказали что данный скрипт реиндексирует базу... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 14:56 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
felix_ff STestS, проносится ураганом курсором по всем онлайн базам данных, получая имя бд и ее ид. кроме системных и 4 каких-то других Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 14:56 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
Тело процедуры Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 15:01 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
komrad кроме системных и 4 каких-то других Да есть и другие но пока не в этом дело... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 15:02 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
STestS, жестко и влоб работает данная процедура не учитывает размер индексов и срабатывает при минимальной фрагментации если есть потребность, то лучше использовать более гибкий вариант от Ola Hallengren ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 15:53 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
komrad felix_ff STestS, проносится ураганом курсором по всем онлайн базам данных, получая имя бд и ее ид. кроме системных и 4 каких-то других Код: sql 1.
да сорян, спасибо что поправил, я обратил внимание только на нижние условия предиката :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 16:03 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
komrad STestS, жестко и влоб работает данная процедура не учитывает размер индексов и срабатывает при минимальной фрагментации Да я тоже это заметил. как я уже раньше писал не особо разбираюсь в данной теме но поискав в интернете выяснил что основным критерием есть количество страниц, или как лучше организовать реиндексацию базы? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 16:05 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
STestS komrad STestS, жестко и влоб работает данная процедура не учитывает размер индексов и срабатывает при минимальной фрагментации Да я тоже это заметил. как я уже раньше писал не особо разбираюсь в данной теме но поискав в интернете выяснил что основным критерием есть количество страниц, или как лучше организовать реиндексацию базы? Критерии стратегии реиндексации исходят из наличия реальных проблем оказываемых фрагментацией. Если вы реально наблюдаете проблемы с производительностью каких либо запросов, можно рассматривать какие то критерии оптимизации. Просто так лопатить частично или всю базу убирая фрагментацию не имеет особого смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 16:11 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
felix_ff, Ясно, подскажите возможно есть способ оценить критичность ситуации до ее появления? То есть не решать проблему по факту, а стараться опередить возможную проблему. Как вариант оценить (узнать) в необходимости для каждой базы (таблицы)... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 16:25 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
[spoiler] в тему ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 16:31 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
STestS felix_ff, Ясно, подскажите возможно есть способ оценить критичность ситуации до ее появления? То есть не решать проблему по факту, а стараться опередить возможную проблему. Как вариант оценить (узнать) в необходимости для каждой базы (таблицы)... данный вопрос слишком общий, здесь не будет явного прямого ответа: "смотри вот сюда и сюда" скажем так, что бы делать выводы о производительности отдельно взятой системы нужно произвести комплексную оценку данной системы: 1) проанализировать технические характеристики сервера (cpu, ram, io, network) 2) оценить превалирующую нагрузку (OLTP / DWH /etc) 3) произвести замер базовых счетчиков производительности 4) проанализировать логи сервера 5) оценить кол-во пользователей 6) оценить степенные характеристики использования баз данных (к примеру одну бд используют овер дофига, а к остальным базам обращаются раз в месяц) при этом есть варианты когда анализ делается не в моменте, а растягивается на интервале времени. в частности обычно это касается замера счетчиков производительности. это только общий вектор с которого можно начать, каждый раз в зависимости от конкретной ситуации "на месте" логика подхода может меняться. вообщем что я хотел сформулировать: информацию которую Вы хотите получить обычно дает специальный человек, который получает за свою работу денюжку. это или штатный дба компании или нанятый или список проффессий схожий по фугкционалу ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 16:59 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
felix_ff, Я вас понял и вектор куда нужно двигаться. Подскажите наверное самый важный вопрос на сегодняшний день: запуск данного скрипта приносит положительный результат или лучше не запускать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 17:09 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
STestS, у вас HDD или SSD? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 17:21 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
Критик, По моему HDD ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 17:28 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
STestS, если HDD и на базах активно меняются данные (превалируют UPDATE, DELETE операции), то пользу может приносить. но смотрите опять таки процедурка пытается убирать фрагментацию с индексов у которой процент фрагментации больше 1 процента. это можно считать что каждый раз когда вы запускаете скрипт по всем базам которые выбираются для курсора будет происходить дефрагментация для всех таблиц я бы поднял бы уровень скажем до 50-60. но опять таки утверждение "пальцем в небо", без видения реальной картины сказать сложно. можете рассматривать как просто совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2020, 19:22 |
|
Нужна помощь по SQL скрипту
|
|||
---|---|---|---|
#18+
STestS felix_ff, Я вас понял и вектор куда нужно двигаться. Подскажите наверное самый важный вопрос на сегодняшний день: запуск данного скрипта приносит положительный результат или лучше не запускать? Перечитал 2 раза, про вектор хорошо написано, про "положительный результат" и "лучше не запускать" Надо полировать свое мастерство ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2020, 13:26 |
|
|
start [/forum/topic.php?fid=46&fpage=39&tid=1685279]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 138ms |
0 / 0 |