powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос на собеседовании
22 сообщений из 122, страница 5 из 5
Вопрос на собеседовании
    #38471777
Mnior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeЭто хорошее обьяснение. Самое замечательное в нём что можно оправдать ЛЮБОЙ ляп.Не несите пурги.
Поняли что сморозили уйню, и теперь отмазывайтесь.

авторONLINE INDEX REBUILD?Не будет одновременно существовать (использоваться) и строится новый. И главное - в новую файловую группу, это фишки только последних версий скуля, не все типы индексов можно делать ONLINE.
Так что до отделения физики от логики ещё очень далеко. Надо хотя бы увидеть зачатки сложных CONSTRAINT-ов в стандарте SQL, что бы можно было об этом говорить.

o-oнапишите гражданке Kimberly Tripp, может, это ей поможет пропихнуть идею запрета задвоения индексов МС-овцамНе получится. Если WARNING - буду не против, точнее за. Если запрет - уйдёте в минуса в голосовалке - будьте уверены.
Но в MS ещё не сидят такие "спецы" как в этом топике. Это будет проигнорировано.

Более того, эта логическая проверка царапина на поверхности айсберга. В нормальных конторах есть системы статического анализа структуры БД. Такие вещи просто детский лепет.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38471781
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlorySandalTreeКоторый решит проблему, но тогда первый индекс, созданый констрэйнтом использоваться уже не будет
Что значит "не будет" ?
Еще как будет. Для чего тогда CONSTRAINT то создавался ?Извиняюсь, не так выразился. Он будет использоваться констрэйнтом, но не будет использоваться для SEEK. Если CONSTRAINT удалить, то integrity не пострадает, так как индекс и так уникален.

Я понимаю что может найтись человек, который решит изменить или удалить этот индекс, тем самым поставив под угрозу integrity, ну так ведь и CONSTRAINT точно так-же беззащитен от неправомерных действий.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38471826
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
Mnioro-oнапишите гражданке Kimberly Tripp, может, это ей поможет пропихнуть идею запрета задвоения индексов МС-овцамНе получится. Если WARNING - буду не против, точнее за. Если запрет - уйдёте в минуса в голосовалке - будьте уверены.

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

SQL Server has a horrible habit of letting bad habits move forward (for the sake of backward compatibility [e.g. autoshrink]). And, I do understand *some* of the reasons for allowing some of these “features/options” to move forward. However, there are a few that frustrate me and I’ve talked about this one quite often.

SQL Server lets you create completely redundant and totally duplicate indexes.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38471830
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MniorSandalTreeЭто хорошее обьяснение. Самое замечательное в нём что можно оправдать ЛЮБОЙ ляп.Не несите пурги.
Поняли что сморозили уйню, и теперь отмазывайтесь.

авторONLINE INDEX REBUILD?Не будет одновременно существовать (использоваться) и строится новый. И главное - в новую файловую группу, это фишки только последних версий скуля, не все типы индексов можно делать ONLINE.
Так что до отделения физики от логики ещё очень далеко. Надо хотя бы увидеть зачатки сложных CONSTRAINT-ов в стандарте SQL, что бы можно было об этом говорить.

Покажите пожалуйста на примере случай необходимости дублирующего индекса.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38471860
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeИзвиняюсь, не так выразился. Он будет использоваться констрэйнтом, но не будет использоваться для SEEK. Если CONSTRAINT удалить, то integrity не пострадает, так как индекс и так уникален..
как раз будет использоваться для SEEK, попробуйте
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38471903
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShakillSandalTreeИзвиняюсь, не так выразился. Он будет использоваться констрэйнтом, но не будет использоваться для SEEK. Если CONSTRAINT удалить, то integrity не пострадает, так как индекс и так уникален..
как раз будет использоваться для SEEK, попробуйте
Может мы говорим о различных запросах? Посмотрите на мои результаты. Они отличаются от ваших?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
SET NOCOUNT ON
GO
USE tempdb
GO
CREATE TABLE B(F1 Char(1)  NOT NULL, F2 Char(2), F3 INT, CONSTRAINT UC_B UNIQUE (F1,F2));
GO
INSERT INTO B(F1,F2,F3) VALUES ('A','C',1), ('B','D',2), ('B','E',3), ('A','E',4);
GO
SET STATISTICS PROFILE ON
GO
SELECT F1,F2,F3 FROM B WHERE F2 = 'E'
GO
SET STATISTICS PROFILE OFF
GO
CREATE UNIQUE NONCLUSTERED INDEX UNCIX_B ON B(F2,F1) INCLUDE(F3);
GO
SET STATISTICS PROFILE ON
GO
SELECT F1,F2,F3 FROM B WHERE F2 = 'E'
GO
SET STATISTICS PROFILE OFF
GO
DROP TABLE B
GO
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38471912
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeИзвиняюсь, не так выразился. Он будет использоваться констрэйнтом, но не будет использоваться для SEEK. Если CONSTRAINT удалить, то integrity не пострадает, так как индекс и так уникален.
А потом вам захочется поменять индекс, чтобы другие запросы еще лучше работали и прощай дата интегрити ?
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38471982
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlorySandalTreeИзвиняюсь, не так выразился. Он будет использоваться констрэйнтом, но не будет использоваться для SEEK. Если CONSTRAINT удалить, то integrity не пострадает, так как индекс и так уникален.
А потом вам захочется поменять индекс, чтобы другие запросы еще лучше работали и прощай дата интегрити ?Т.е. у нас на лицо инженерное противоречие.

Затраты дискового пространства и падение производительности против гипотетической возможности потерять дата интегрити.

Нужно либо смириться с издержками, либо принять меры (вплоть до административных) против "возможности потерять дата интегрити".

Будем спорить дальше?
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472005
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeShakillпропущено...

как раз будет использоваться для SEEK, попробуйте
Может мы говорим о различных запросах? Посмотрите на мои результаты. Они отличаются от ваших?
ну так понятное дело, индекс будет использован при соответствующем WHERE. то есть в вашем примере индекс "от констрейнта" пригодится в случае фильтра с F1, а второй индекс - при фильтре с F2.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472013
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTree,

Ваш пример некорректен. Если у вас нет запросов с where F1 = ..., то почему порядок столбцов в unique constraint (F1, F2)?
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472055
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeНужно либо смириться с издержками, либо принять меры (вплоть до административных) против "возможности потерять дата интегрити".

Будем спорить дальше?
Это какие "меры (вплоть до административных) " ? Создать таки constarint ? Или уволить дба ?
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472077
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
SandalTree у нас на лицо инженерное противоречие.

Затраты дискового пространства и падение производительности против гипотетической возможности потерять дата интегрити.

Нужно либо смириться с издержками, либо принять меры (вплоть до административных)




пафосно.
не оставляет чувство присутствия на комсомольском собрании...
+ мне все упорнее кажется, что товарищу скучно.
ну просто очень хочется поговорить , да не с кем (не о чем?)

SandalTree, пойдемте в какое-нибудь "обо всем", обсудим происшествия дня :)
мне вот только что в автобусе какая-то продиравшаяся к дверям туша перекосила очки.
дома уже пытаюсь почитать форум,
соседнюю тему вижу как "данные в ПОПЕ разных типов".
интересно, последствия контакта с тушей или просто день сегодня такой?
еще и тел. остался в сортире уникредита, может, поэтому я все так "туалетно" вижу?
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472080
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shakillну так понятное дело, индекс будет использован при соответствующем WHERE. то есть в вашем примере индекс "от констрейнта" пригодится в случае фильтра с F1, а второй индекс - при фильтре с F2.invmВаш пример некорректен. Если у вас нет запросов с where F1 = ..., то почему порядок столбцов в unique constraint (F1, F2)?Попробуйте так
Код: sql
1.
CREATE TABLE B(F1 Char(1)  NOT NULL, F2 Char(2), F3 INT, CONSTRAINT UC_B UNIQUE (F2, F1));

Ничего не изменится.

Вы наверное не заметили " INCLUDE(F3)"
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472094
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlorySandalTreeНужно либо смириться с издержками, либо принять меры (вплоть до административных) против "возможности потерять дата интегрити".

Будем спорить дальше?
Это какие "меры (вплоть до административных) " ? Создать таки constarint ? Или уволить дба ?Можно просто забрать права с рабочего сервера.
Можно поставить триггер, который будет запрещать изменение индекса.

Вам-ли не знать.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472134
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeНичего не изменится.Конечно не изменится - данных в таблице слишком мало.
SandalTreeВы наверное не заметили " INCLUDE(F3)"Все я заметил. Уберите его и получите тот же самый Table scan на ваших данных.
Опять же, если известно, что потребуются include-столбцы, зачем тогда делать ограничение уникальности, а не сразу уникальный индекс?
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472192
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeМожно просто забрать права с рабочего сервера.
Можно поставить триггер, который будет запрещать изменение индекса.

Вам-ли не знать.
Ваши рассуждения напоминают рассказ "100 способов использования микроскопа"
1. колоть орехи
2. забивать гвозди
...
100. да и еще им можно проводить исследования мелких объектов
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472199
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm Опять же, если известно, что потребуются include-столбцы, зачем тогда делать ограничение уникальности, а не сразу уникальный индекс?
О!

Вот именно это я и пытаюсь доказать.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472202
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlorySandalTreeМожно просто забрать права с рабочего сервера.
Можно поставить триггер, который будет запрещать изменение индекса.

Вам-ли не знать.
Ваши рассуждения напоминают рассказ "100 способов использования микроскопа"
1. колоть орехи
2. забивать гвозди
...
100. да и еще им можно проводить исследования мелких объектов

Зачем скатываться на личности?

Мы уже давно перешли в плоскость религиозных предпочтений.

Нравится вам дублировать индексы - дублируйте.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472245
Mnior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-oне оставляет чувство присутствия на комсомольском собрании...
+ мне все упорнее кажется, что товарищу скучно.
ну просто очень хочется поговорить , да не с кем (не о чем?)Он сам не знает чего хочет.
Это его проблемы, всем же понятно что пурга.
Если тролит, то явно не получается.
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472249
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mnioro-oне оставляет чувство присутствия на комсомольском собрании...
+ мне все упорнее кажется, что товарищу скучно.
ну просто очень хочется поговорить , да не с кем (не о чем?)Он сам не знает чего хочет.
Это его проблемы, всем же понятно что пурга.
Если тролит, то явно не получается.

...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38472438
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTreeМы уже давно перешли в плоскость религиозных предпочтений.
Базовый понятия - это не предпочтения
Нормальные формы, целостность данных и тп - это основы.
Но если вам нравится жить без них, то это ваше право.
Вы можете даже, например, хранить все данные в текстовых блоб полях.
Потому что тип данных - это тоже элемент поддержания целостности данных
...
Рейтинг: 0 / 0
Вопрос на собеседовании
    #38473367
Mnior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Троллинг на троллинг конечно красиво смотрится, я бы сказал тренд.
Не думаю что это когда-то приестся, но точно видно - что уже не различается что к чему и для чего.
...
Рейтинг: 0 / 0
22 сообщений из 122, страница 5 из 5
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос на собеседовании
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]