|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныSandalTreeДобавлю от себя четвёртое: пропущено... Только если ранее не был объявлен/создан другой кластерный индекс: Спасибо за поправку. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 20:13 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeHEAP RID key используется индексом, но в реальности-то он не хранится. Нету его на странице данных. Вывод DBCC Page вас не убеждает? Вы полагаете DBCC Page что-то придумывает, а не использует данные страницы? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 20:42 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SomewhereSomehowSandalTreeHEAP RID key используется индексом, но в реальности-то он не хранится. Нету его на странице данных. Вывод DBCC Page вас не убеждает? Вы полагаете DBCC Page что-то придумывает, а не использует данные страницы? Не понял вопроса. Хотел лишь сказать что в хипе индекс ссылается на записи по RID, но RID в самих данных не хранится. Если я не прав, покажите мне где. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 20:55 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeHEAP RID key используется индексом, но в реальности-то он не хранится. Нету его на странице данных. SandalTreeНе понял вопроса. Хотел лишь сказать что в хипе индекс ссылается на записи по RID, но RID в самих данных не хранится. Если я не прав, покажите мне где. На страницах данных некластерного индекса он есть и хранится. В самой куче, да, не хранится, ибо незачем. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2013, 21:38 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SomewhereSomehowSandalTreeHEAP RID key используется индексом, но в реальности-то он не хранится. Нету его на странице данных. SandalTreeНе понял вопроса. Хотел лишь сказать что в хипе индекс ссылается на записи по RID, но RID в самих данных не хранится. Если я не прав, покажите мне где. На страницах данных некластерного индекса он есть и хранится. В самой куче, да, не хранится, ибо незачем.Значит консенсус. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 01:02 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
авторсколько угодно UQ Не сколько угодно, а не больше 1000 (или 250, зависит от версии) :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 12:47 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Гость333авторсколько угодно UQ Не сколько угодно, а не больше 1000 (или 250, зависит от версии) :-)А столько обычно и не угодно! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 15:04 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Гость333авторсколько угодно UQ Не сколько угодно, а не больше 1000 (или 250, зависит от версии) :-)Ну уж если быть совсем точным, то не больше 999 И кстати, второй вопрос: Чем отличается UNIQUE CONSTRAINT от UNIQUE NONCLUSTERED INDEX ? (я пока нашёл только 2 отличия, может кто знает больше?) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 17:35 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeЧем отличается UNIQUE CONSTRAINT от UNIQUE NONCLUSTERED INDEX ? UNIQUE CONSTRAINT - это декларация уникальности UNIQUE NONCLUSTERED INDEX - это физическая реализация UNIQUE CONSTRAINT ЗЫ Кстати в предыдущих отличиях тоже сильно намешаны декларативные и физические свойства. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 17:44 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeНу уж если быть совсем точным, то не больше 999 Не-а. Один кластерный + 999 некластерных. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 18:07 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Гость333Один кластерный + 999 некластерных. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 18:10 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
GlorySandalTreeЧем отличается UNIQUE CONSTRAINT от UNIQUE NONCLUSTERED INDEX ? UNIQUE CONSTRAINT - это декларация уникальности UNIQUE NONCLUSTERED INDEX - это физическая реализация UNIQUE CONSTRAINT ЗЫ Кстати в предыдущих отличиях тоже сильно намешаны декларативные и физические свойства. Вроде ты прав. Это должно означать что UNIQUE CONSTRAINT не имеет каких-либо особенных свойств которых нет у UNIQUE NONCLUSTERED INDEX. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 18:12 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Уникальный индекс может быть фильтрованным. Для ограничения уникальности фильтр установить нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 18:30 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeЭто должно означать что UNIQUE CONSTRAINT не имеет каких-либо особенных свойств которых нет у UNIQUE NONCLUSTERED INDEX. Так? Трудно сравнивать разные вещи Можно ли говорить, например, насколько 2 в степени 3 отличается от 2*2*2 или от 2+2+2+2 ? С одной сильно отличается, с другой стороны - результат одинаков. А если углубится в технические детали реализации этих операций в каких то процессорах, то можно просто погрязнуть в деталях. Лучше сначала определится, до какого уровня происходит сравнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 18:48 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Гость333SandalTreeНу уж если быть совсем точным, то не больше 999 Не-а. Один кластерный + 999 некластерных.Мы говорили про UNIQUE CONSTRAINT, а их может быть не больше чем 999 на таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 19:10 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
GlorySandalTreeЭто должно означать что UNIQUE CONSTRAINT не имеет каких-либо особенных свойств которых нет у UNIQUE NONCLUSTERED INDEX. Так? Трудно сравнивать разные вещи Можно ли говорить, например, насколько 2 в степени 3 отличается от 2*2*2 или от 2+2+2+2 ? С одной сильно отличается, с другой стороны - результат одинаков. А если углубится в технические детали реализации этих операций в каких то процессорах, то можно просто погрязнуть в деталях. Лучше сначала определится, до какого уровня происходит сравнение. Деталей-то вроде не сильно много что-б погрязнуть. Или я вижу только верхушку айсберга? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 19:12 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Гость333Уникальный индекс может быть фильтрованным. Для ограничения уникальности фильтр установить нельзя. Правильно. Другими словами возможна ситуация когда уникальный индекс по некоторому полю не предотвращает наличие неуникальных записей. Ещё что? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 19:14 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeГость333пропущено... Не-а. Один кластерный + 999 некластерных.Мы говорили про UNIQUE CONSTRAINT, а их может быть не больше чем 999 на таблицу. Некластерных UQ — не больше чем 999. Плюс один кластерный. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код для создания такой таблицы Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 19:28 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Гость333SandalTreeпропущено... Мы говорили про UNIQUE CONSTRAINT, а их может быть не больше чем 999 на таблицу. Некластерных UQ — не больше чем 999. Плюс один кластерный. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Понял идею. Хитро. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2013, 20:18 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
GlorySandalTreeЭто должно означать что UNIQUE CONSTRAINT не имеет каких-либо особенных свойств которых нет у UNIQUE NONCLUSTERED INDEX. Так? Трудно сравнивать разные вещи Можно ли говорить, например, насколько 2 в степени 3 отличается от 2*2*2 или от 2+2+2+2 ? С одной сильно отличается, с другой стороны - результат одинаков. А если углубится в технические детали реализации этих операций в каких то процессорах, то можно просто погрязнуть в деталях. Лучше сначала определится, до какого уровня происходит сравнение. Глоря, вот обьясни мне ещё такую вещь. Код: sql 1. 2. 3. 4. 5. 6. 7.
В 2012м в Стандарте и Экспрессе + 2008R2 Энтерпрайз выдаёт что у "log_shipping_primary_databases" один UNIQUE CONSTRAINT (ака индекс) и ещё один UNIQUE NONCLUSTERED INDEX по тому-же полю. Там какой-то потаённый смысл в 2-х одинаковых индексах или это просто баг? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 00:30 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeЭто должно означать что UNIQUE CONSTRAINT не имеет каких-либо особенных свойств которых нет у UNIQUE NONCLUSTERED INDEX.Смотря что под этим иметь ввиду. Если использовать уникальный индекс для ограничения уникальности, то однажды можно столкнуться с ситуацией, что этот индекс кому-то помешал, и этот кто-то не долго мудрствуя удалил индекс. А с уникальным констрейнтом этот кто-то получит ошибку: Код: sql 1.
Что заставит его еще раз подумать о необходимости удаления. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 05:20 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
RuuuSandalTreeЭто должно означать что UNIQUE CONSTRAINT не имеет каких-либо особенных свойств которых нет у UNIQUE NONCLUSTERED INDEX.Смотря что под этим иметь ввиду. Если использовать уникальный индекс для ограничения уникальности, то однажды можно столкнуться с ситуацией, что этот индекс кому-то помешал, и этот кто-то не долго мудрствуя удалил индекс. А с уникальным констрейнтом этот кто-то получит ошибку: Код: sql 1.
Что заставит его еще раз подумать о необходимости удаления. Притянул за уши. Если выскакивает ошибка: Msg 2627, Level 14, State 1, Line 1 Violation of UNIQUE KEY constraint 'UC_B1000' . Cannot insert duplicate key in object 'dbo.B'. The duplicate key value is (A). The statement has been terminated. То она как-бы сразу говорит чего нужно удалять. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 06:08 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeRuuuпропущено... Смотря что под этим иметь ввиду. Если использовать уникальный индекс для ограничения уникальности, то однажды можно столкнуться с ситуацией, что этот индекс кому-то помешал, и этот кто-то не долго мудрствуя удалил индекс. А с уникальным констрейнтом этот кто-то получит ошибку: Код: sql 1.
Что заставит его еще раз подумать о необходимости удаления. Притянул за уши. Если выскакивает ошибка: Msg 2627, Level 14, State 1, Line 1 Violation of UNIQUE KEY constraint 'UC_B1000' . Cannot insert duplicate key in object 'dbo.B'. The duplicate key value is (A). The statement has been terminated. То она как-бы сразу говорит чего нужно удалять. Я имел ввиду, конечно, не это, а ситуацию, когда план неоптимальный из-за этого индекса строится или медленно идет обновление/вставка, и/или в запросах он не используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 06:19 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
RuuuЯ имел ввиду, конечно, не это, а ситуацию, когда план неоптимальный из-за этого индекса строится или медленно идет обновление/вставка, и/или в запросах он не используется.Я так ду что этот индекс должен использоваться, ибо во время каждой ставки должен шерститься. И если в базу влез тюнер, который без разбору и проверки индексы мочит, то тут никакой UC уже не поможет. Да, кстати, этот даже и неплохо. Тебе потом через неделю звонок, а у нас тут данные хреновые. Ты 4 часа потратил - разбирался (это гуд, ибо тебе за это платят) потом выложил на стол доказательства и ещё 4 часа на починку. Вот так один му**к тебя на целый день работой обеспечил. А знаешь сколько таких мудаков в мире... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 06:45 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeТам какой-то потаённый смысл в 2-х одинаковых индексах или это просто баг? Я вам про это уже говорил Primary KEY, Unique Constraint - это только _декларация_ Грубо говоря, только запись в списке объектов, которая ссылается на другой _физический_ объект. Физическим же объектом для этих ограничений всегда является индекс. Ваши два вопроса с собеседования на мой взгляд были заданы для того, чтобы выяснить, понимате ли вы разницу между физическим и логическим уровнями. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 10:33 |
|
|
start [/forum/topic.php?fid=46&msg=38468668&tid=1704299]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 247ms |
total: | 394ms |
0 / 0 |