Форум: "Прочее";
Текущий архив: 2010.08.29;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.002 c