Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Gena928
Member

Откуда: Москва
Сообщений: 1139
Не могу разобраться с этим извращением. Подскажите ответ пожалуйста.
Текст вопроса:
Есть база денных, в которой 30 таблиц.
Таблицы не связаны между собой, имеют первичные ключи и каждая содержит несколько миллионов строк. 15% данных устарели.

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

Варианты ответов:
- a WHILE loop, that contains a single DELETE statement;
- multiple TRUNCATE TABLE statements;
- a single transation that contains multiple DELETE statements;
- an IF statement that contains a single DELETE statement;


TRUNCATE само собой не в тему. А остальное хз.
3 дек 12, 11:52    [13567453]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Gena928,

Что за экзамен? На мой непросвещённый взгляд, ни один ответ не относится к best practices.
3 дек 12, 13:45    [13568086]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Glory
Member

Откуда:
Сообщений: 104760
Gena928
А остальное хз.

А остальное нужно заполнить
И потом выбрать вариант с наибольшим числом "+"
Время выполнения должно быть минимальнымВремя разработки должно быть минимальным Блокировка других процессов, которые используют данные минимальнаОшибки при удалении не должны затронуть весь процесс удаления в целом.
- a WHILE loop, that contains a single DELETE statement
- a single transation that contains multiple DELETE statements
- an IF statement that contains a single DELETE statement
3 дек 12, 13:52    [13568153]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Gena928
Member

Откуда: Москва
Сообщений: 1139
Гость333
Gena928,
Что за экзамен? На мой непросвещённый взгляд, ни один ответ не относится к best practices.
Это 70-451 (PRO: Desining Database Solutions and Data Access)


Glory, спасибо большое. Так хоть что-то прояснилось.
Время выполнения должно быть минимальнымВремя разработки должно быть минимальным Блокировка других процессов, которые используют данные минимальнаОшибки при удалении не должны затронуть весь процесс удаления в целом.
a WHILE loop, that contains a single DELETE statement (WHILE delete_indicator = 1 …...delete and re-check delete_indicator)НЕТ (цикл побежит несколько раз)НЕТДАНЕТ (если заглючит, то заглючит в цикле)
a single transation that contains multiple DELETE statements (delete from tbl where (...))ДАДАНЕТНЕТ
an IF statement that contains a single DELETE statement (IF exists….. Then DELETE)ДАДАДАДА

В скобочках написал свое видение команды.


Получается последний вариант: an IF statement that contains a single DELETE statement
Изврат страшный...
3 дек 12, 14:18    [13568430]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
Gena928,

ИМХО взаимоисключающие условия даны, так как всё не может быть одновременно минимальным:)
Задачу явно теоретик какой то придумывал.
3 дек 12, 14:19    [13568436]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Gena928
Member

Откуда: Москва
Сообщений: 1139
WarAnt
Gena928,
ИМХО взаимоисключающие условия даны, так как всё не может быть одновременно минимальным:)
Задачу явно теоретик какой то придумывал.


да, там есть такое: вот вам 4 дурацких условия, выберите из них наименее идиотское.
3 дек 12, 14:20    [13568452]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Самого главного нет: попилить на секции и сделать switch+truncate.
3 дек 12, 14:23    [13568487]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Glory
Member

Откуда:
Сообщений: 104760
Gena928
Получается последний вариант: an IF statement that contains a single DELETE statement
Изврат страшный...

Потому что это ТЕСТ, а не реальный проект
Тест должен был проверить
- понимаете ли разницу между TRUNCATE и DELETE
- понимаете ли вы, что делает single transation
- можете ли вы сравнивать разные команды по производительности

Т.е. проверяли, какие варианты вы отбросите.
Имхо.
3 дек 12, 14:27    [13568539]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Гавриленко Сергей Алексеевич
Самого главного нет: попилить на секции и сделать switch+truncate.
Двойная работа. Сначала перестраивать индексы чтобы попилить на секции, а потом удалять.
3 дек 12, 23:44    [13571757]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Mind
Гавриленко Сергей Алексеевич
Самого главного нет: попилить на секции и сделать switch+truncate.
Двойная работа. Сначала перестраивать индексы чтобы попилить на секции, а потом удалять.
Сначала сделать нормальную структуру, а потом данные туда помещать, как бы.
4 дек 12, 02:07    [13572183]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
так ето майкрософтовская сертификация - там таких вариантов куча
4 дек 12, 12:04    [13574072]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Gena928
Member

Откуда: Москва
Сообщений: 1139
Сдалъ.
правда это была уже вторая попытка)))
4 дек 12, 12:55    [13574570]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос с экзамена, подскажите пожалуйста ответ  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Гавриленко Сергей Алексеевич
Mind
пропущено...
Двойная работа. Сначала перестраивать индексы чтобы попилить на секции, а потом удалять.
Сначала сделать нормальную структуру, а потом данные туда помещать, как бы.

Есть база денных, в которой 30 таблиц.
Таблицы не связаны между собой, имеют первичные ключи и каждая содержит несколько миллионов строк. 15% данных устарели.
4 дек 12, 21:46    [13577918]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить