Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Типовые вопросы на собеседование по MS SQL? 
:(
    Опции темы
WaReZMEN
Дата 7.6.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Типовые вопросы на собеседование? Предстоит собеседование на позицию программист Delphi со значением MS SQL 2005 интересует какие обычно вопросы задают на собеседованиях именно по MS SQL, Delphi я знаю достаточно хорошо...
P.S. написал сделать потому как интересует именно про MS SQL.
PM MAIL ICQ   Вверх
Zloxa
Дата 8.6.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



В первую очередь - в каких проектах участвовал, какова роль в проектах smile

Когда я соискался на подобную позицию, меня гоняли в основном на отношения таблиц(реализация связи многие многие ко многим многим), внешние соедниения, изоляции транзакций, блокировки. Скуэльчики пописывать просили. 
Самый прикольный, как мне показалось вопрос - "В каких случаях запрос select * from table where id = id вернет не все содержимое таблицы." 


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
WaReZMEN
Дата 8.6.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Zloxa, и в каких же?
PM MAIL ICQ   Вверх
Zloxa
Дата 8.6.2009, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(WaReZMEN @  8.6.2009,  18:40 Найти цитируемый пост)
и в каких же? 

Думайте, читайте, ищите.(Господа гусары, прошу воздержаться... Хотите проверить версию- отвечу в личку)
Вопрос элементарен... 
Тем не менее найти ответ на него в документации не так просто.
Очень хорошо помогает отсеять теоретиков от практиков. ;))
Я подогнал этот вопрос товарищу, когда он собеседовал. На этом вопросе срезалось половина кандидатов.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
WaReZMEN
Дата 8.6.2009, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Zloxa, у меня опыта в MS SQL практически нет а в других бд с такой темой не сталкивался...
PM MAIL ICQ   Вверх
Akina
Дата 8.6.2009, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(WaReZMEN @  8.6.2009,  20:48 Найти цитируемый пост)
опыта в MS SQL практически нет а в других бд с такой темой не сталкивался

Не требуется - в большинстве СУБД ответ будет таким же...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
WaReZMEN
Дата 8.6.2009, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



ну хз проверил на Базе все нормально все возвращает...
PM MAIL ICQ   Вверх
Zloxa
Дата 8.6.2009, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  8.6.2009,  20:22 Найти цитируемый пост)
Не требуется - в большинстве СУБД ответ будет таким же... 

Наверно даже более.. Если для какой либо СУБД "правильный ответ" не канает, эта СУБД особенная. ;))

WaReZMEN, если сдашься, но интерес не пропадет - отсутчи в личку. Не люблю мучить людей.

Цитата(Zloxa @  8.6.2009,  19:40 Найти цитируемый пост)
срезалось половина кандидатов

Тут я все таки ошибся.
Припомнил, что на этом вопросе у моего товарища срезались таки ВСЕ кандидаты. Сам он 1Сник, ему нужен был человек со знанием SQL на репортинг.

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


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
WaReZMEN
Дата 9.6.2009, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Zloxa, ну так хватит мутить smile подскажи в личку... честно говоря на фаерберде прогам около 3-х лет но не сталкивался с таким ни разу возможно потому что не пробовал smile
PM MAIL ICQ   Вверх
WaReZMEN
Дата 10.6.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: нет
Всего: 3



Весь подвох в том что поле id не совсем ID smile
PM MAIL ICQ   Вверх
Zloxa
Дата 17.6.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Zloxa @  8.6.2009,  19:40 Найти цитируемый пост)
Хотите проверить версию- отвечу в личку

В личке мною были получены правильные ответы от:
Akina
azesmcar
Экскалупатор
baldina
MadCoder
Бонифаций
Gluttton
SharedNoob

Это сообщение отредактировал(а) Zloxa - 1.9.2009, 12:05


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Itsys
Дата 30.6.2009, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1338
Регистрация: 21.1.2008
Где: г. Москва

Репутация: 1
Всего: 34



Сам не догадался, т.к. никгда с таким не сталкивался, но в документации написано четко и причем в нескольких местах.
PM MAIL WWW Skype   Вверх
baldina
Дата 30.6.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата

отсеять теоретиков от практиков

если действительно теоретики, то должны отвечать. наверно даже гораздо увереннее практиков
PM MAIL   Вверх
MadCoder
  Дата 1.7.2009, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: нет
Всего: 2



Вот реальный список вопросов, который я написал и задавал кандидатам на должность "Программист Delphi + MS SQL Server 2005" несколько месяцев назад.

Язык программирования SQL.
1    Какие Вы знаете операторы отбора строк по условию?    
2    Сколько строчек выгрузит запрос:
Код

Select * from table 1, table2

Если в table 1 три строчки, а в table2 две строчки.    
3    Для чего служит DISTINCT?    
4    Какие агрегатные функции Вы знаете?    
5    Какие строковые функции Вы знаете?    
6    Какие Вы знаете числовые функции?    
7    Какие Вы знаете временные функции?    
8    Чем группировка отличается от сортировки?    
9    Все ли верно в данном запросе?    
Код

Select * from clients as cl where client_tel = null
Left join contract as co on co.contr_id = cl.contr_id
Where co.money > 20000 and cl.region = ‘Москва’

10    Что такое триггер и для чего он нужен?    
11    Что такое view и для чего она нужна?    
12    Что такое курсор и для чего он нужен? Напишите пример.    
13    Напишите пример кода для создания БД, таблицы.    
14    Напишите пример внешнего соединения трех таблиц с помощью оператора JOIN.    
15    Напишите код: у вас есть таблица table1 из 100.000 строчек с числовыми полями номер договора (contr_id) и действие (action). Вам нужно обработать данные таким образом:
•    action = 0, ничего не делать
•    action = 1, добавить номер договора в таблицу table2
•    action = 2, удалить строчку.    

Microsoft SQL Server 2005:
16    Название основной инструмент управления Microsoft SQL Server 2005:    
17    Что такое репликация?    
18    Какие виды репликации Вы знаете? Чем они отличаются?
19    Что такое журнал транзакций?    
20    Чем строчки отличаются от полей?    
21    Для чего нужны индексы?    
22    Для чего служат хранимые процедуры?    
23    Какой тип репликации предпочтителен, если у нас есть два сервера, на каждом из которых данные могут изменяться и оба сервера должны об этом знать сразу после изменения?    
24    Перечислите известные Вам типы данных с кратким описанием.
25    Какие службы Microsoft SQL Server 2005 Вы знаете и для чего они нужны?    

Delphi 2007:
26    Перечислите основные типы данных в Delphi 2007:    
27    Какие компоненты используются для работы с БД SQL Server и для чего они служат?
28    Что такое модальная форма?    
29    Опишите понятия: ODBC, BDE, ADO.
30    Опишите Ваши действия по созданию программы для выгрузки данных
(MSSQL 2005, таблица clients)
в таблицу.
31    Какие генераторы отчетов Вы знаете? Какому отдаете предпочтение?    
32    Все ли верно в следующем коде:
Код

Var List: Tstringlist; A: integer;
Begin
List.Sorted:=True;
Randomize;
For A:=1 to 100 do
List[A]:=Random(A);
End;    

33    Напишите функцию, которая записывает в текстовый файл фразу «Hello World».
34    Чем процедура отличается от функции?    

Попробуйте сами ответить на вопросы, никуда не подглядывая.

Это сообщение отредактировал(а) MadCoder - 1.7.2009, 17:15
PM WWW ICQ   Вверх
Akina
Дата 1.7.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(MadCoder @  1.7.2009,  18:14 Найти цитируемый пост)
Какие Вы знаете временные функции?

Порадовало... временнЫе? врЕменные? 
функции работы с датой-временем, наверное?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MadCoder
Дата 1.7.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: нет
Всего: 2



Цитата(Akina @ 1.7.2009,  17:22)
Цитата(MadCoder @  1.7.2009,  18:14 Найти цитируемый пост)
Какие Вы знаете временные функции?

Порадовало... временнЫе? врЕменные? 
функции работы с датой-временем, наверное?

Во, логика тоже работает! И знаешь по-крайней мере один тип функций! +1
PM WWW ICQ   Вверх
Zloxa
Дата 1.7.2009, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(MadCoder @  1.7.2009,  17:14 Найти цитируемый пост)
Чем процедура отличается от функции?    

У меня братишка этот вопрос задал тренеру на курсе по TSQL.
Тренер рассказал какие виды и типы функций бывают, в чем их особенности, но ответить на вопрос одной фарзой не смог smile)


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 1.7.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(Zloxa @  1.7.2009,  18:35 Найти цитируемый пост)
но ответить на вопрос одной фарзой не смог 

"Первая создаётся директивой CREATE PROCEDURE, вторая соответственно CREATE FUNCTION."
 smile  smile 
Одна фраза...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 1.7.2009, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  1.7.2009,  17:41 Найти цитируемый пост)
"Первая создаётся директивой CREATE PROCEDURE, вторая соответственно CREATE FUNCTION."

Всетки это ответ не на вопрос ;)
Ты ответил на вопрос "в чем различие конструкций создания процедуры и функции", таки это чуть разные вопросы  smile)


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 1.7.2009, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Ну вообще по этому вопросу, если серьёзно, как я понимаю: функцию можно использовать в запросе, т.к. она возвращает результат, ассоциированный с её именем, в отличие от процедуры, которую можно вызвать только саму по себе, принимая затем из неё именованные результаты.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
MadCoder
Дата 1.7.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 24.8.2007
Где: Москва

Репутация: нет
Всего: 2



На самом деле функция возвращает результат, а процедура нет. Если посмотреть внимательно, вопрос находится в разделе Delphi smile.

Добавлено через 37 секунд
Akina, точно smile.
PM WWW ICQ   Вверх
Akina
Дата 1.7.2009, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



MadCoder, можешь ещё в вопросы по SQL добавить (уж коли) вопрос об отличии WHERE от HAVING, а также попросить сравнить объединения типа FROM A JOIN B ON и типа FROM A, B WHERE - когда какое предпочтительнее или, скажем, неприменимо.

С другой стороны, на большинство этих вопросов запросто ответит любой, кто обчитался документации, но не написал ни строчки кода (и в результате тебя ждёт индусский или китайский код, со всеми вытекающими).

У меня один знакомый товарищ года три назад искал себе SQL-кодера... он просто нарисовал три связанные таблицы и просил кандидатов написАть максимально эффективный код подсчёта итога, с учётом количества записей в таблицах, а также предложить изменения в структуре таблиц для повышения эффекитивности. Если я правильно помню, только пятый или шестой кандидат сумел наконец без компа на листе бумаги изобразить запрос, который дал бы верные данные. А специально введённый ляпсус со структурой (бредовый индекс) вообще никто не нашёл.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
baldina
Дата 1.7.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата

На самом деле функция возвращает результат, а процедура нет. Если посмотреть внимательно, вопрос находится в разделе Delphi .

для процедур и функций в других языках (где присутствует такая терминология) точно так же. 
вероятно впервые разделение понятий появилось одновременно с созданием языка высокого уровня - Фортрана (FUNCTION и SUBROUTINE), хотя методологическую основу заложил Н.Вирт при создании Pascal.

есть понятие чистой функции, т.е. функции, не имеющей побочных эффектов, единственный результат ее деятельности передается через возвращаемое значение. т.е. такая функция наиболее близка к обычной математической функции. обычно в функциональных языках функции чистые. в этом смысле можно считать чистой процедуру (хотя так не говорят), не меняющую значение своих аргументов, т.е. работа которой целиком заключается в создании побочного эффекта.
PM MAIL   Вверх
Zloxa
Дата 1.7.2009, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Akina @  1.7.2009,  18:09 Найти цитируемый пост)
FROM A JOIN B ON и типа FROM A, B WHERE - когда какое предпочтительнее или, скажем, неприменимо.

А есть разница?
AFAIK когда то была, сейчас уже давно нет smile)
Цитата(Akina @  1.7.2009,  18:09 Найти цитируемый пост)
без компа на листе бумаги 

У меня как то был случай, когда я на листе не смог изобразить запрос типа выбрать последний курс валюты на дату. С учетом того, что я уже и роспись нормально не могу поставить на бумаге, просьба написать запрос на бумаге выглядит как садизм. ;)) а еще и с учетом того, что запросы я пишу не слева на право, а из глубины во вне. 

Это сообщение отредактировал(а) Zloxa - 1.7.2009, 20:53


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
baldina
Дата 1.7.2009, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата

из глубины во вне 
 smile 
PM MAIL   Вверх
Akina
Дата 1.7.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(Zloxa @  1.7.2009,  21:01 Найти цитируемый пост)
AFAIK когда то была, сейчас уже давно нет 

Считается, что есть несколько типов JOIN и куча вариантов WHERE... хотя надо покопаться в доках по новым версиям СУБД - отличия-то начинаешь читать только воткнувшись носом в проблему...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
baldina
Дата 1.7.2009, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



по идее разницы в результате быть не должно, если нет left/right. а в производительности? план запроса с where составляется сервером. в основе плана с join лежит их последовательность. может ли сервер менять последовательность, указанную в join?
PM MAIL   Вверх
Zloxa
Дата 1.7.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(baldina @  1.7.2009,  20:27 Найти цитируемый пост)
а в производительности? 

Бродил какой-то бородатый миф, мол джойн через where сервер выполняет посредством кросс джойна с фильтрацией.
Возможно миф тянется из истории... на 2000й, парни говорят это отнюдь не так.

Что же касается внешних соединений, то таки да, через пре джойн предикаты (*= и =*, если мне не изменяет память) можно выразить далеко не всякий левый/правй жойн. И, помоему, вообще не возможно сделать full join.
Но вопрос то был не о том ;)

Это сообщение отредактировал(а) Zloxa - 1.7.2009, 21:16


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 1.7.2009, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Вот навскидку: JOIN ON a.id>b.id  даст тот же результат, что и WHERE a.id>b.id  ?  smile 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 1.7.2009, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Akina, разве нет?
У меня нет MS SQL, но результат должен быть одинаков.. планы тоже.

Добавлено через 1 минуту и 50 секунд
join через where ли, через join ли это join.. просто разная фора записи.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
baldina
Дата 1.7.2009, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



так что там про последовательность? анализ плана можно получить в любой приличной СУБД, а дальше что - руками оптимизировать? и, опять же, что там с where? (cross join это конечно смело  smile )

Akina, набор будет тот же. а вот последовательность строк (планы) наверно может быть другая, если сервер по-разному where и join реализует.
PM MAIL   Вверх
Zloxa
Дата 1.7.2009, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(baldina @  1.7.2009,  23:10 Найти цитируемый пост)
по-разному where и join реализует. 

Кто сказал? 
На какой платформе?
from a,b wehre a.id = b.id - это операция inner join по нотации ANSI 89
from a inner join b on a.id = b.id - это операция inner join по нотации ANSI 92

одна и таже операция, почему планы то разные должны быть? Разве что если кривизна[особенности] оптимизатора.


Цитата(baldina @  1.7.2009,  23:10 Найти цитируемый пост)
а вот последовательность строк

А вот последовательность строк может не только от плана зависеть. Еще от состояния кэшей и мало ли там вообще чего. При одном и том же плане вполне можно получить разную последовательность строк.


Это сообщение отредактировал(а) Zloxa - 1.7.2009, 23:34


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
baldina
Дата 1.7.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



Цитата

 кривизна[особенности] оптимизатора
 smile 

Цитата

При одном и том же плане вполне можно получить разную последовательность строк.
не знал. спасибо.

Добавлено через 3 минуты
потренировался на кошках. MS Jet 4.0. не знаю что там насчет кривизны и кеша, но независимо от последовательности таблиц в where и join дает одну и ту же последовательность для where и одну и ту же (но иную, чем в where) для join.
PM MAIL   Вверх
Akina
Дата 2.7.2009, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 454



Цитата(Zloxa @  1.7.2009,  21:01 Найти цитируемый пост)
С учетом того, что я уже и роспись нормально не могу поставить на бумаге, просьба написать запрос на бумаге выглядит как садизм.

Ну тем, у кого вышел из строя карандашный разъём, можно предложить составить запрос в Блокноте по скриншоту структуры  smile 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 2.7.2009, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(baldina @  1.7.2009,  23:53 Найти цитируемый пост)
where и одну и ту же (но иную, чем в where) для join

Может M$ действительно "особенный".
Не мог бы глянуть планы, планы одинаковые или нет?


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Zloxa
Дата 2.7.2009, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(Zloxa @  2.7.2009,  09:20 Найти цитируемый пост)
планы одинаковые или нет

найдите 10 отличий
where:
user posted image
join:
user posted image

ЗЫ MS SQL 2k


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
sasha84
Дата 31.7.2009, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 31.7.2009

Репутация: нет
Всего: нет



Вот здесь есть вопросы на собеседованиях по базам данных.
PM MAIL   Вверх
Veroonya
Дата 13.8.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 10.10.2008
Где: Россия, Омск

Репутация: нет
Всего: 1



*ушла учить sql* 
PM MAIL ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0849 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.