|
|
su.dbms- SU.DBMS ---------------------------------------------------------------------- From : Victor Metelitsa 2:5020/400 05 Oct 2001 17:38:23 To : Tolik Tentser Subject : Re: ms sql server vs. ibm db2 -------------------------------------------------------------------------------- ax.com> <9pfi9s$gb7$1@gavrilo.mtu.ru> <9phds3$ccf$1@host.talk.ru> ax.com> <9pi7d7$2f6$1@gavrilo.mtu.ru> <9pj6r0$glv$1@news.nsk.su> ax.com> <9pjug3$1j1n$1@gavrilo.mtu.ru> <9pk1e6$mhc$1@news.nsk.su> From: Victor Metelitsa <vvm@cssc.tat.ru> Tolik Tentser wrote: [...] > > Что значит "переписывает логику" ? > Очевидно, речь идет о переписывании запросов (статья "Rewrite Query by the SQL Compiler" и т.п. в главе "Chapter 25. Understanding the SQL Compiler", "Administration Guide". Она слишком большая, чтобы ее приводить здесь). Запрос может быть переделан до неузнаваемости. Запрос с WITH, который зачастую эквивалентен нескольким "обычным" SELECT'ам или одной хранимой, оптимизируется целиком, и понятно, что у оптимизатора здесь больше возможностей. С другой стороны, в свое время я убедился на твоих примерах, что перед некоторыми (даже простыми) запросами, в отсутствие хинтов, DB2-шный оптимизатор пасует, и требуется принимать специальные меры (разбивать таблицы, добавлять дополнительные условия и т.п.). > >>Кстати, об уникальности. Дай, мне, пожалуйста ссылку на то место в TFM >>другой СУБД, где рассказано о static SQL и о автопреобразовании dinamic >> > SQL > >>в static. >> > > Что есть "автопреобразовании dinamic SQL в static. " ? > Построение плана исполнения ? > Хранение его в БД ? > > >>DB2 - одна из немногих компилирующих, а не интерпретирующих СУБД. >> > > Компилирующих в свой псевдокод ? > Как ни странно, то же самое делает не только MSSQL, но даже простейшая IB > > >>Взяв любое ODBC приложение, ты можешь 1 раз запустить его с включенным >>static profiling и прогнать все его запросы к БД. После этого все планы >> > всех > >>запросов статически сохраняются в системных таблицах БД (не в кэше!) и >>серверу уже не потребуется эти запросы перепахивать >>оптимизатором/планировщиком. >> > > MSSQL 6.X делал то же самое буквально для sp, а в семерке от этого > отказались и план строится при первом исполнении запроса (или процедуры), а > потом - используется повторно, так что ничего нового опять. > Hо для "обычных" приложений с "обычными" SELECT, INSERT etc MSSQL этого не делал? Тем более конвертацию. Хотя, конечно, все равно не такая уж важная фича. Я static SQL-ом никогда и не пользуюсь, это для всяких фанов (вроде разгонщиков процессоров, которые готовы рискнуть свой пентиумом ради дополнительных 5% производительности). > Кроме более высоких требований к админу, который должен что-то включать, > что-то прогонять, а потом не забывать делать все это при обновлениях > статистики. > Hо этим ведь не обязательно пользоваться? А если пользоваться - утилитка была, помечающая все пакеты как инвалидные, после чего rebind произойдет автоматически (on demand); так что мороки немного (и пользы тоже). -- Отправлено через сервер Talk.Ru - http://www.talk.ru --- ifmail v.2.15dev5 * Origin: Talk.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /su.dbms/5364ea6eea6d.html, оценка из 5, голосов 10
|