|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
Siemargllockyпропущено... совершенно не факт, кстати. Современные оптимизаторы учитывают FK при построении планов запросовЯсное дело. FK же тянет за собой индекс. Индекс обслуживать надо всегда, а вот будет ли он эффективно использоваться в работе - не факт. FK может существовать без индекса, но это скорее нонсенс. оптимизатор учитывает не индекс, а именно FK, упрощая соединения путём выбрасывания ненужных таблиц ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 12:39 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
pkarklinYo.!бэкапы оракла можно настраивать через гуй точно так же как и в мсскл Т.е. вот этот вот "недостаток MS SQL" Yo.!майкрософтские дба тыркают в кнопочки визарда не осознавая даже базовых вещей. за "недостаток" не считаем? :) Мало делать бекапы - нужно ещё уметь из них восстанавливать, решать возникающие по ходу проблемы, кои Oracle щедро рассыпает. Вот тут-то караул и возникает. Разумеется, любой высокооплачиваемый IT-специалист сложностям должен быть рад. Ибо чем сложнее, тем больше его значимость, меньше конкуренция и выше зарплаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 12:43 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
lockySiemarglпропущено... Ясное дело. FK же тянет за собой индекс. Индекс обслуживать надо всегда, а вот будет ли он эффективно использоваться в работе - не факт. FK может существовать без индекса, но это скорее нонсенс. оптимизатор учитывает не индекс, а именно FK, упрощая соединения путём выбрасывания ненужных таблицИнтересно бы увидеть пример, если не реальный, то хотя бы принцип. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 12:44 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
Ден, Спасибо за ссылку. Особенно мне понравилось вот это: Индекс — это упорядоченное подмножество элементов таблицы, для которой создан индекс. Применение индексов позволяет ускорить поиск и сортировку. Чем меньше размер ключа индекса , тем меньше места занимает ключ и тем выше его эффективность . Поскольку первичные ключи таблиц часто используются в других таблицах в качестве внешних ключей, рекомендуется минимизировать длину первичных ключей . Если в таблице отсутствуют столбцы небольшой длины, которые могут использоваться как первичный ключ, в качестве первичного ключа можно использовать столбец удостоверения, реализованный в виде целочисленного значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 12:44 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
Siemargllockyпропущено... оптимизатор учитывает не индекс, а именно FK, упрощая соединения путём выбрасывания ненужных таблицИнтересно бы увидеть пример, если не реальный, то хотя бы принцип. Дурацкий пример, но навскидку не придумывается, а вспоминать лень Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
план если есть FK Код: plaintext 1. 2. 3. 4.
План если нет FK StmtText Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 12:56 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
locky, ОК. Т.е. просто нет двойной работы - уже проверенное с помощью FK при вставке данных один раз, при множественных запросах потом повторной проверки не требует. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:02 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
Siemargllocky, ОК. Т.е. просто нет двойной работы - уже проверенное с помощью FK при вставке данных один раз, при множественных запросах потом повторной проверки не требует. Не только. FK дает понятие о том, что может быть, а чего "не может быть в принципе", по итогу из сложных запросов выпадают (сокращаются) промежуточные (и ненужные для этого конкретного запроса) таблицы, план становится проще, выполнение - быстрее. Особенно хорошо это видно при использовании "обобщенных view для представления полных данных". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:07 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
Barkan, Не хотел вдаваться в обсуждение, кинул можно сказать первую попавшуюся ссылку про денормализацию (остальное не читал). А JD они намеренно денормализовали данные основных таблиц, т.к если объединять в запросе, то наверно 20-30 таблиц придется, чтоб получить то что выдается в форме P4210. А вобщем, данные там нормализованы, просто вместо подстановки PK из справочника, помимо него копируются(дублируются) из него данные. ERP сочетают в себе OLTP и DW, т.е по транзакционным таблицам будут строить отчеты. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:20 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
> FK дает понятие о том, что может быть, а чего "не может быть в принципе", по > итогу из сложных запросов выпадают (сокращаются) промежуточные (и ненужные для > этого конкретного запроса) таблицы, план становится проще, выполнение - быстрее. Чёто ты гонишь. FK можно создать и после вставки данных, данные при этом не будут соответствовать ограничению, реализуемому FK. Запросы при этом должны выдавать РЕАЛЬНЫЕ данные, а не то, что могло бы быть, если бы FK существовал в БД всегда. Никогда в общем не слыхал, чтобы FK как-то участвовали в оптимизации запросов, кроме конечно индексов, поддерживающих FK, если они есть. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:30 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
авторто наверно 20-30 таблиц придется, Современные СУБД очень хорошо справляются со звездой. http://msdn.microsoft.com/ru-ru/library/bb522541.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:33 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
Ден, Ладно, фиг с ней, с JDE и её чудесным языком. Для программистов, которым придётся лепить "заплатки и кармашки" к стандартной конфигурации это конкретное попадалово. Придётся видимо новую работу искать. Ж:) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:35 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
MasterZiv > FK дает понятие о том, что может быть, а чего "не может быть в принципе", по > итогу из сложных запросов выпадают (сокращаются) промежуточные (и ненужные для > этого конкретного запроса) таблицы, план становится проще, выполнение - быстрее. Чёто ты гонишь. FK можно создать и после вставки данных, данные при этом не будут соответствовать ограничению, реализуемому FK. Запросы при этом должны выдавать РЕАЛЬНЫЕ данные, а не то, что могло бы быть, если бы FK существовал в БД всегда. Никогда в общем не слыхал, чтобы FK как-то участвовали в оптимизации запросов, кроме конечно индексов, поддерживающих FK, если они есть. Ну, насчет "гонишь" - это не ко мне. Что касается вас, дражайший, то почитайте на тему trusted foreign keys, а также не предмет опций созданий FK (check/nocheck) Что касаемо "никогда не слышал", то вот из того о чем я никогда не слышал - можно целую библиотеку составить. Не сомневаюсь, что это справедливо и в Вашем случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:43 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
MasterZivFK можно создать и после вставки данных, Можно. MasterZivданные при этом не будут соответствовать ограничению, реализуемому FK. Да ну правда что ли? Ну попробуйте, попробуйте. Нет, в некоторых развитых СУБД есть конструкция NOVALIDATE, предназначенная именно для такого специфического режима, "ограничить новые данные, допуская некорректные старые", но это ближе к экзотике. И хотелось бы знать, на опыте какой именно СУБД Вы выдвигаете категорическое утверждение вида "иначе и не бывает". MasterZivНикогда в общем не слыхал, чтобы FK как-то участвовали в оптимизации запросов, Ну можно почитать документацию. Вот , например, полезная табличка. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 13:49 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
> И хотелось бы знать, на опыте какой именно СУБД Вы выдвигаете категорическое > утверждение вида "иначе и не бывает". Да хоть MSSQL, хоть MySQL. Только где ты там видел "утверждение вида "иначе и не бывает" ? > Ну можно почитать документацию. Вот > < http://docs.oracle.com/cd/B10500_01/server.920/a96520/qr.htm#50063>, например, А, это Оракул, Великий и Ужасный ... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 15:10 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
MasterZiv > И хотелось бы знать, на опыте какой именно СУБД Вы выдвигаете категорическое > утверждение вида "иначе и не бывает". Да хоть MSSQL, хоть MySQL. Только где ты там видел "утверждение вида "иначе и не бывает" ? Матчасть изучатьне пробовали? Так, смеха ради авторWITH CHECK | WITH NOCHECK Specifies whether the data in the table is or is not validated against a newly added or re-enabled FOREIGN KEY or CHECK constraint. If not specified, WITH CHECK is assumed for new constraints, and WITH NOCHECK is assumed for re-enabled constraints. If you do not want to verify new CHECK or FOREIGN KEY constraints against existing data, use WITH NOCHECK. We do not recommend doing this, except in rare cases. The new constraint will be evaluated in all later data updates. Any constraint violations that are suppressed by WITH NOCHECK when the constraint is added may cause future updates to fail if they update rows with data that does not comply with the constraint. The query optimizer does not consider constraints that are defined WITH NOCHECK. Such constraints are ignored until they are re-enabled by using ALTER TABLE table CHECK CONSTRAINT ALL. Первое выделение - насчет "не бывает" Второе - насчет "никогда не слыхал, чтобы оптимизатор". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 15:47 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
pt12ptТриггеры на уровне записи...Использование этой штуки нужно когда необходимо изменять колонку PK Никому об этом не говори :) Использование "этой штуки" нужно, если надо что-то делать\проверять перед или после манипуляций с записью. PS:А ещё Оракл может работать на линуксе, в отличие от. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:22 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
SQL BigotИспользование "этой штуки" нужно, если надо что-то делать\проверять перед или после манипуляций с записью. Для этого не нужны триггеры уровня записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:28 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
pkarklinSQL BigotИспользование "этой штуки" нужно, если надо что-то делать\проверять перед или после манипуляций с записью. Для этого не нужны триггеры уровня записи. Хотя иногда чертовски удобны. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:29 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
pkarklinДля этого не нужны триггеры уровня записи. Вот только не "не нужны", а "без них можно обойтись", затратив на это лишние телодвижения :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:42 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
SQL BigotВот только не "не нужны", а "без них можно обойтись", затратив на это лишние телодвижения :) Давайте рассмотрим конкретный пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:44 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
pkarklinДавайте рассмотрим конкретный пример? Классический(?):журнал всех(в том числе и неудачных) попыток манипуляций с записью без включения аудита. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:51 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
SQL BigotКлассический(?):журнал всех(в том числе и неудачных) попыток манипуляций с записью без включения аудита. Можно расшифровать термин "неудачных"? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:56 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
pkarklinSQL BigotКлассический(?):журнал всех(в том числе и неудачных) попыток манипуляций с записью без включения аудита. Можно расшифровать термин "неудачных"? С роллбэком но тут, видимо, нужнее не row-level-trigger, а автономные транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:57 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
lockyно тут, видимо, нужнее не row-level-trigger, а автономные транзакции Угу. В легкую реализуются через CLR сборку с self-коннектом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 16:59 |
|
Чем MS SQL Server хуже Oracle Database?
|
|||
---|---|---|---|
#18+
lockyС роллбэком но тут, видимо, нужнее не row-level-trigger, а автономные транзакции Возможно, тут имелся в виду массовый апдейт, сорвавшийся посередине, и требование сохранить информацию о действиях с первыми записями. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2012, 17:01 |
|
|
start [/forum/topic.php?fid=35&msg=37716197&tid=1552540]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 243ms |
total: | 377ms |
0 / 0 |