Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1276148872
oldman
2010-06-10 09:47
2010.08.29
Вот вы говорите "безработица"... Посмотрите, вакансий сколько!


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


15-1266842702
KilkennyCat
2010-02-22 15:45
2010.08.29
Административное предложение (McSimmу и всем)


2-1275905953
stas
2010-06-07 14:19
2010.08.29
Гарантированно убить Thread


3-1243931561
Александр
2009-06-02 12:32
2010.08.29
Объединение таблиц





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский