Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.29;
Скачать: CL | DM;

Вниз

SQL 2000 vs SQL 2008   Найти похожие ветки 

 
Miau ©   (2010-06-07 19:43) [0]

Переносим программу с SQL 2000 на SQL 2008. Некоторые запросы на одной и той же копии базы на 2008м выполняются вдвое(!!) медленнее, чем на 2000м.
В чём может быть лажа? Какие-нибудь настройки или ещё что-то?


 
test ©   (2010-06-07 19:46) [1]

Explain для запроса делал?
Что он показал?
Где больше всего времени тратиться?
Мож там подкрутить?


 
sniknik ©   (2010-06-07 23:55) [2]

http://msdn.microsoft.com/ru-ru/magazine/cc135978.aspx


 
Miau ©   (2010-06-08 11:35) [3]

Оно понятно, что надо оптимизировать и смотреть, что же именно там подтормаживает. Вопрос был общего плана: может, кто уже наступал на эти же грабли при переносе с сервера на сервер. Запросов-то к базе тысячи и переписать их все за краткие сроки не реально, вот и думаю, есть ли какое-то, пусть не идеальное, но общее решение.


 
Anatoly Podgoretsky ©   (2010-06-08 11:39) [4]

> Miau  (08.06.2010 11:35:03)  [3]

Там новый оптимизатор, и многие запросы из 2000 выполняются медленно, иногда
на порядки. Частично можно исправить индексами.


 
12 ©   (2010-06-08 11:50) [5]

Переносили разок с 2000 на 2005
кроме железа, особо ничего не сказалось

Если переносить на лучшее железо - быстрее работает, на худшее - медленнее

Настройки делались такие же.
Два экрана, параметр одного сервака находится у другого, ставится также.
Не найденный параметр остается по умолчанию.

Первый раз забыли память добавить - работал хуже.
Второй раз забыли файлы разнести по дискам - работал хуже.
Третий раз один из дисков был медленный, перепутали - работал хуже.
Окончательно все поставили когда, (как надо, памяти больше только по сравнению с первоначальным вариантом) - стало лучше.

Читал, что индексы надо пересматривать, при переходе на новую версию
Типа, оптимизатор там стал совсем другим. - Не заметили. Пробовали по всякому.
Убивал индексы, заставлял поработать так, сам в это время запускал профайлер, потом результаты профайлера скармливал тюнингАдвизору, следовал рекомендациям последнего..
Особо ничего не изменилось. (БД - 25 гигов, 90% заполнения, около 8-10 активных юзеров)


 
12 ©   (2010-06-08 11:53) [6]

*

> Особо ничего не изменилось.

по сравнению с индексами оставшимися при переносе


 
Miau ©   (2010-06-08 12:06) [7]

> Anatoly Podgoretsky

Спасибо.
Будем понемногу выправлять :(


 
Miau ©   (2010-06-08 12:09) [8]

> 12

С железом админы сейчас разбираются, надеюсь, им поможет Ваш опыт. Спасибо.


 
картман ©   (2010-06-08 12:20) [9]


> Anatoly Podgoretsky ©   (08.06.10 11:39) [4]


> Там новый оптимизатор, и многие запросы из 2000 выполняются
> медленно, иногда
> на порядки.

а-а... а зачем делать новый, который медленнее?


 
Anatoly Podgoretsky ©   (2010-06-08 12:23) [10]

> 12  (08.06.2010 11:50:05)  [5]

Это не всех касается, а отдельных запросов. У меня на некоторых запросах
время увеличилось с 1.5 мин (3 сек) до 15 минут (15 минут), и то после
настройки индексов.


 
Anatoly Podgoretsky ©   (2010-06-08 12:29) [11]

> картман  (08.06.2010 12:20:09)  [9]

Он не медленнее, об много быстрее, но не на всех запросах. Не любит вложеные
запросы, а у меня 22 кбайта скрипт (7 страниц в ворде, шрифтом 10 пунктов,
колбасой не форматированый). Вложеные запросы должны меняться на соединения,
у меня это не доступно, прямые запросы не позволяет система, только через
генератор.


 
картман ©   (2010-06-08 12:52) [12]


> Anatoly Podgoretsky ©   (08.06.10 12:29) [11]


> Вложеные запросы должны меняться на соединения,


хм... а я-то думал, что оптимизатор этим и занимается - не?


 
Petr V. Abramov ©   (2010-06-08 13:21) [13]


> картман ©   (08.06.10 12:52) [12]
> а я-то думал

"не ищи логику там, куда ты ее не клал" :)


 
Anatoly Podgoretsky ©   (2010-06-08 14:24) [14]

> картман  (08.06.2010 12:52:12)  [12]

Чего тут думать, тут трясти нужно.


 
картман ©   (2010-06-08 15:58) [15]


> Petr V. Abramov ©   (08.06.10 13:21) [13]


> Anatoly Podgoretsky ©   (08.06.10 14:24) [14]

тогда, может дать другое название оптимизатору? Например, индексоиспользователь?


 
Anatoly Podgoretsky ©   (2010-06-08 16:02) [16]

> картман  (08.06.2010 15:58:15)  [15]

Никакой оптимизатор не должен переписывать код.


 
картман ©   (2010-06-08 16:18) [17]


> Anatoly Podgoretsky ©   (08.06.10 16:02) [16]

но ведь SQL - декларативный язык? Получается не важно, как именно я оформлю запрос, важны лишь интересующие данные, а способ выборки должен определять оптимизатор.


 
Anatoly Podgoretsky ©   (2010-06-08 16:26) [18]

> картман  (08.06.2010 16:18:17)  [17]

Никакой оптимизатор не поможет, если нет головы, но руки чешутся, можно
такого написать, что оптимизатор свихнется.
Оптимизатор оптимизирует только написано и по простым шаблонам и на основе
статистики. Вложеные селекты он никогда не будет преобразовывать в
соединения. Я бы переписал запросы, но система закрытая, очень сложная, и
другой возможности и нет.
Было неприятно, когда скорось выполнения так резко деградировала, за счет
индексов удалось повысить скорость раз в тридцать и видимо это предел, далее
нужны другие запросы.


 
Petr V. Abramov ©   (2010-06-08 17:29) [19]


> Вложеные селекты он никогда не будет преобразовывать в
> соединения.

Аллах запрещает?


 
картман ©   (2010-06-08 18:26) [20]


> Аллах запрещает?

присоединяюсь к вопросу



Страницы: 1 вся ветка

Текущий архив: 2010.08.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.006 c
2-1275900385
12
2010-06-07 12:46
2010.08.29
AV при Close у TForm


15-1275936455
xayam
2010-06-07 22:47
2010.08.29
Игровой сервер 2


10-1167679059
TStas
2007-01-01 22:17
2010.08.29
Как получить код странички, загруженной в WebBrowser?


15-1275984221
SP
2010-06-08 12:03
2010.08.29
Подскажите ПО реализующее стабильный VPN-клиент (PPTP)


15-1275997158
_REA
2010-06-08 15:39
2010.08.29
Парадокс