|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeГлоря, вы это сами придумали и сами с собой спорите. Гость333 уже подтвердил что я нашёл баг. И ничего особенного в этом нет. давайте уже честными будем, а? Вы не разобрались и пришли спросить себе о том, чего не знали. Вам повторили (именно Glory) несколько раз то, чего Вы не понимали. Glory конкретно Вас ни разу не обозвал, и в данной ситуации именно он прав, как подтвердил Гость333, кроме Оракла остальные СУБД ведут себя так же в отношении повторяющихся индексов, нигде не заявлено, что их не может быть -> это не баг. то, что Гость333 пытается внести "мир" в ситуевину (performance bug) для прекращения дебатов, похвально. но Вы-то чего уже не скажете "всем спасибо" и не успокоитесь? и вот конкретно зачем обозвали Гарей, Глорей? и вот это "тыканье" постоянное тоже поднадоело, если честно. у меня о Вас сложилось впечатление "массовик-затейник" из пионерского отряда, половина тем пронизана какой-то "крутизной" посетителей семинаров и раздачей медалей "узнавателям персонажей". Вы вот их может и видели/слышали лично, но блин, Вы их не читали даже в минимальном объеме, есть чем гордиться, да... меньше было бы "выворачивания пальцев", меньше бы было растрат времени на привлечение народа вопросами "несуществующего" собеседования. задавши конкретный незамаскированный вопрос, можно куда быстрее получить ответ по теме, без написания 3-х страних, из к-ых одна это выяснение: "так оно было или нет, это собеседование, и кто кого обсобеседил?" IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 14:38 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
GloryГость333Несомненно. Но если недублированные — это только кандидаты, то дублированные — это уже точно "performance bug", или "performance issue", не знаю как правильно :-) Только какое отношение все это имеет к констрайнтам и индексам ? И если я создам недублированный индекс, который не используется ни в одном запросе, то это никак не отразится на performance ? А вот если создан дублированный, то сразу отразится ? SandalTreeЯ просто писал процедурку по документированию вот мне и стало интересно различие, а когда взялся шерстить другие базы то наткнулся на этот дубликат. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 14:39 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
o-oSandalTreeГлоря, вы это сами придумали и сами с собой спорите. Гость333 уже подтвердил что я нашёл баг. И ничего особенного в этом нет. давайте уже честными будем, а? Вы не разобрались и пришли спросить себе о том, чего не знали. Вам повторили (именно Glory) несколько раз то, чего Вы не понимали. Glory конкретно Вас ни разу не обозвал, и в данной ситуации именно он прав, как подтвердил Гость333, кроме Оракла остальные СУБД ведут себя так же в отношении повторяющихся индексов, нигде не заявлено, что их не может быть -> это не баг. то, что Гость333 пытается внести "мир" в ситуевину (performance bug) для прекращения дебатов, похвально. но Вы-то чего уже не скажете "всем спасибо" и не успокоитесь? и вот конкретно зачем обозвали Гарей, Глорей? и вот это "тыканье" постоянное тоже поднадоело, если честно. у меня о Вас сложилось впечатление "массовик-затейник" из пионерского отряда, половина тем пронизана какой-то "крутизной" посетителей семинаров и раздачей медалей "узнавателям персонажей". Вы вот их может и видели/слышали лично, но блин, Вы их не читали даже в минимальном объеме, есть чем гордиться, да... меньше было бы "выворачивания пальцев", меньше бы было растрат времени на привлечение народа вопросами "несуществующего" собеседования. задавши конкретный незамаскированный вопрос, можно куда быстрее получить ответ по теме, без написания 3-х страних, из к-ых одна это выяснение: "так оно было или нет, это собеседование, и кто кого обсобеседил?" IMHO Если я случайно назвал Глорю Гарей, то сорри. не хотел. Я старался вести себя очень прилично и никому не "тыкать". "Собеседование" могло иметь место. Такой вопрос может всплыть у любого и возможно теперь кто-то его задаст. Разве не так? Я всё это прошерстил ДО того как задать вопрос, но мне нужно было просто убедиться что я на верном пути. Спасибо что подтвердили. Если кто-то вдруг ненароком подумал что я не знаю чем отличаются PRIMARY KEY от UNIQUE CONSTRAINT, то он заблуждался. И кстати, тут ещё не до конца раскрыли "разницу" чем отличается UNIQUE CONSTRAINT от UNIQUE NONCLUSTERED INDEX, кроме как авторUNIQUE CONSTRAINT - это декларация уникальности UNIQUE NONCLUSTERED INDEX - это физическая реализация UNIQUE CONSTRAINT Индекс может иметь INCLUDED Columns, а UC нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 15:08 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Первый же ответ был полным и правильным. Не нужно устраивать из собеседования викторину "Угадай, какую тонкость реализации правильно/неправильно я вспомнил" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 15:25 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTree И кстати, тут ещё не до конца раскрыли "разницу" чем отличается UNIQUE CONSTRAINT от UNIQUE NONCLUSTERED INDEX, кроме как авторUNIQUE CONSTRAINT - это декларация уникальности UNIQUE NONCLUSTERED INDEX - это физическая реализация UNIQUE CONSTRAINTЧто-б не томить общественность понапрасну сам скажу: Индекс может иметь INCLUDED Columns, а UC нет. не, ну я из темы удаляюсь. Вы сравниваете абстрактное(декларативное в нашем случае) понятие с конкретными(физическими) сущностями. да, unique-констрейнты реализуются через индексы. НО индексы изобрели не только для этого. о чем вообще спор? типа: -- какие вы знаете способы наземной транспортировки людей? -- поезда -- а давайте перечислим отличия поездов от способов наземной транспортировки людей!!! Glory: "способы" -- это нечто абстрактное, реализовано поездами, обсуждать отличия некорректно. SandalTree: а вот я продолжу, про отличия. поезда, они еще и почтово-багажные бывают! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 15:31 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeЕсли я случайно назвал Глорю Гарей, то сорри. не хотел. если вы не в курсе, "недокументированный" перевод, или вольная транслитерация ника вполне является оскорблением в интернете. вполне возможно, что для вас сочетания «ДеревоСандальского, МасляноеДерево, СанделТришкин» не будут являться обидными, но подобное коверканье выглядит, по крайней мере, некрасивым. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 15:39 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeВ таблице но одном и том же поле построено абсолютно два одинаковых индекса, один из которых создан как Unique Constraint, а другой как Unique Index. В чём смысл наличия обоих индексов - вот мой вопрос. Очень просто. Это Enterprise, а не RDBS в вакууме. Индексы это не только механизм для чего-то (контроль уникальности), это ещё головная боль для админов. С потолка - надо перенести индекс в реальном времени при высокой доступности и не убить уникальность (для запросов) в период переноса. Поэтому путём уменьшения контроля и не расширения функционала разрабы добиваются повышенной гибкости системы. Андестуд?! SandalTree, считайте это багом - ваше правр, но вашу кошерную RDBS с трушными панятиями я бы ни за что не купил. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 18:00 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
StarikNavySandalTreeЕсли я случайно назвал Глорю Гарей, то сорри. не хотел. если вы не в курсе, "недокументированный" перевод, или вольная транслитерация ника вполне является оскорблением в интернете. вполне возможно, что для вас сочетания «ДеревоСандальского, МасляноеДерево, СанделТришкин» не будут являться обидными, но подобное коверканье выглядит, по крайней мере, некрасивым. Может быть вы немного не в теме, на скуле есть два очень уважаемых мною ника Garya и Glory. Если я их нечаянно попутал вы теперь над моим ником упражняться будете? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 20:07 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
o-oне, ну я из темы удаляюсь. Вы сравниваете абстрактное(декларативное в нашем случае) понятие с конкретными(физическими) сущностями. Да всё я понимаю, это как "борьба слона с китом". Какая-б не была сущность декларативная или физическая, но когда у тебя есть конкретная задача у тебя стоит вопрос "что применить?". И только зная точные различия между ними можно принять правильное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 20:16 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
MniorSandalTreeВ таблице но одном и том же поле построено абсолютно два одинаковых индекса, один из которых создан как Unique Constraint, а другой как Unique Index. В чём смысл наличия обоих индексов - вот мой вопрос. Очень просто. Это Enterprise, а не RDBS в вакууме. Это хорошее обьяснение. Самое замечательное в нём что можно оправдать ЛЮБОЙ ляп. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 20:18 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
у меня та же картина, вот скриптец этой таблицы Код: 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. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
ну а что, ляп он и есть ляп. может, 2 разных человека писало: один определение таблиц, другой им всем индексы. а может, один и тот же, но спустя 2 часа бывает же, отвлекут, сообщат что-то "хорошее", вернешься к компу уже другим человеком не то, чтобы "не рой яму другому", но примерно так: оставили возможность дублировать индексы, сами в свою же лужу и сели. напишите гражданке Kimberly Tripp, может, это ей поможет пропихнуть идею запрета задвоения индексов МС-овцам ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 23:28 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
в скуле в системных объектах вообще можно найти много замечательных моментов ничего удивительного - писано всё это людьми, долгие годы, "работает - не трогай" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2013, 23:47 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
o-oну а что, ляп он и есть ляп. может, 2 разных человека писало: один определение таблиц, другой им всем индексы. а может, один и тот же, но спустя 2 часа бывает же, отвлекут, сообщат что-то "хорошее", вернешься к компу уже другим человеком не то, чтобы "не рой яму другому", но примерно так: оставили возможность дублировать индексы, сами в свою же лужу и сели. напишите гражданке Kimberly Tripp, может, это ей поможет пропихнуть идею запрета задвоения индексов МС-овцам А она что, не знает? Может быть существует сценарий, которого мы не знаем, когда задвоение помогает или необходимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 00:18 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTree Может быть существует сценарий, которого мы не знаем, когда задвоение помогает или необходимо.ONLINE INDEX REBUILD? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 02:08 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeА она что, не знает? я думаю, ей и так есть, чем заняться, кроме как ходить-проверять, какие там индексы на таблицах в msdb. да и другие вряд ли заметили: log_shipping_primary_databases Stores one record for the primary database in a log shipping configuration. это сколько ж надо баз залогшипить, чтоб тормоза на этой таблице прочувствовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 02:23 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
MindSandalTreeМожет быть существует сценарий, которого мы не знаем, когда задвоение помогает или необходимо.ONLINE INDEX REBUILD? Вы это имели в виду? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 06:45 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
o-oSandalTreeА она что, не знает? я думаю, ей и так есть, чем заняться, кроме как ходить-проверять, какие там индексы на таблицах в msdb. да и другие вряд ли заметили: log_shipping_primary_databases Stores one record for the primary database in a log shipping configuration. это сколько ж надо баз залогшипить, чтоб тормоза на этой таблице прочувствовать?Ну вот, ей и так есть чем заняться, зачем её понапрасну беспокоить. Проблема выеденного яйца не стоит. Я-б сравнил её с царапиной на ядерной боеголовке, ни на скорость ни на силу заряда она не влияет. Лишь коробит чувства генералов при проверке. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 06:50 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
MindSandalTreeМожет быть существует сценарий, которого мы не знаем, когда задвоение помогает или необходимо.ONLINE INDEX REBUILD? А чем тут поможет задвоение индексов? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 08:50 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
Гость333, при онлайновом ребилде он не в таблицу лезет, а строит новый некластерный, используя старый некластерный ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 08:56 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
GloryИ если я создам недублированный индекс, который не используется ни в одном запросе, то это никак не отразится на performance ? А вот если создан дублированный, то сразу отразится ? Негативно отразятся и тот, и другой. Я имел в виду, что если по показаниям sys.dm_db_index_usage_stats недублированный индекс не используется, это не значит, что его тут же можно удалять. Он становится кандидатом на удаление, требует дальнейшего анализа. Пример — один "молодой, горячий" DBA заказчика прислал список не использующихся индексов (по показаниям sys.dm_db_index_usage_stats). Анализ списка, длившийся больше половины рабочего дня, показал: — некоторые индексы используются в месячных/квартальных отчётах, а аптайм сервера был около трёх недель, и статистика ещё не захватила построение этих отчётов; — некоторые индексы были построены на таблицах вида DATA_2008_05 (некие данные были секционированы — по одной таблице на каждый месяц). Обращение к старым данным могло требоваться крайне редко — и попадания индекса в статистику использования пришлось бы ждать долго; — но всё же два или три индекса по результатам анализа были удалены. А если бы в этом списке были дублированные индексы — то и анализ бы не требовался. Сразу можно было бы писать скрипт на удаление одного из индексов, да ещё поискать в исходном коде возможные хинты с использованием удаляемого индекса и заменить на оставшийся индекс. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 09:13 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeЧем отличается PRIMARY KEY от UNIQUE CONSTRAINT? Правильный ответ, за который надо сразу брать на работу: НИЧЕМ, кроме названия и мелких, несущественных деталей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 09:14 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTree Если я их нечаянно попутал вы теперь над моим ником упражняться будете? за нечаянно бью отчаянно (С) :) тогда приношу свои извинения ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 09:44 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
SandalTreeКакая-б не была сущность декларативная или физическая, но когда у тебя есть конкретная задача у тебя стоит вопрос "что применить?". И только зная точные различия между ними можно принять правильное решение. Мда. Constraint-ы применяются для обеспечения data integrity. Индексы применяют для улучшения производительности. И это разные по своим целям задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 11:04 |
|
Вопрос на собеседовании
|
|||
---|---|---|---|
#18+
GlorySandalTreeКакая-б не была сущность декларативная или физическая, но когда у тебя есть конкретная задача у тебя стоит вопрос "что применить?". И только зная точные различия между ними можно принять правильное решение. Мда. Constraint-ы применяются для обеспечения data integrity. Индексы применяют для улучшения производительности. И это разные по своим целям задачи. Согласен на 100 % Но приведу пример. Есть табличка с UNIQUE CONSTRAINT Код: sql 1. 2. 3.
У тебя тормозит запрос Код: sql 1.
Есть вариант создать индекс Код: sql 1.
Который решит проблему, но тогда первый индекс, созданый констрэйнтом использоваться уже не будет, а будет только занимать место и тормозить вставку. На маленьких табличках это возможно и ничего, но если у тебя 100 миллионов записей, а в уникальную группу входят несколько полей, то это очень существенно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 17:56 |
|
|
start [/forum/topic.php?fid=46&msg=38469962&tid=1704299]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
92ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 442ms |
0 / 0 |