Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Благородные доны! Мне, как и многим, действительно хочется сравнить различные SQL-сервера. Предлагается следующая схема обсуждения. Вопрос. Поддерживатся ли эта возможность на SQL-сервере? Ответ1. Да. На *** это возможно. Ответ2. Нет. На *** это не возможно. Ответ3. Нет, но на *** это можно реализовать иным способом. Я очень прошу Judge или АГ модерировать это топик. Или дать права на модерирование мне. Принцип модерирования - удаляются все упоминания о "кривых руках", "ламерах", "воспоминаниях о версии 1.0", ответы более 10 строк (по существу можно выразится коротко) Примерный вопрос. Поддерживаются ли хранимые процедуры? MS SQL 2000 (и с перывых версий) - да MySQL - нет Ну и нормальный вопрос (для затравки) Поддерживаются ли хранимые процедуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 23:19 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Модерируй ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 23:25 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Проверка прав на модерирование прошла успешно. Предупреждаю. Все будет удалятся очень жестко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 23:42 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
так и писать никто не будет :)) ps. можешь удалять :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 23:45 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Judge>Настоящие спецы не побоятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 23:49 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Вопрос. Последняя версия Вашего SQL-сервера? Ответ. >>Последняя версия Вашего SQL-сервера? MS SQL. Версия 2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2003, 23:58 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Темка... :) Ну в познавательных целях: 1. Поддерживает ли сервер рекурсию (хоть какую) в операторе SELECT? db2 - да ..... - ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 01:13 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Paul Atreidies > Вопрос. Рекурсия в SELECT. Это про самосоединения таблиц? MS SQL поддерживает. ====== Мною удален постинг ppp. Я предупреждал о жестком модерировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 08:10 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
"Есть-нет" не всегда удачный ответ на вопрос. Обычно требуется комментарий. Например в MS SQL запросы на чтение частенько блокируют и друг друга и запросы обновления, а в ORACLE - нет. Кроме того предлагаю топик разделить на две части. Первая - свободный обмен мнениями (можно даже без модерирования). А вторая - сухой остаток в виде таблички возможностей с кратким комментарием, формируемый модератором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 09:36 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Согласованность по чтению на уровне предложения: Oracle - Да Согласованность по чтению на уровне транзикции: Oracle - Да Многоверсионная модель согласованности данных: Oracle - Да Несколько видов ссылочной целостности (для Oracle): RESTRICT Правило ссылочной целостности, которое запрещает обновление или удаление адресуемых данных. SET NULL При обновлении или удалении адресуемых данных все ассоциированные зависимые данные устанавливаются в NULL. SET DEFAULT При обновлении или удалении адресуемых данных все ассоциированные зависимые данные устанавливаются в умалчиваемое значение. CASCADE При обновлении адресуемых данных все ассоциированные зависимые данных обновляются соответственно; при удалении адресуемой строки все ассоциированные зависимые строки удаляются. Ограничения самоссылочной целостности: Oracle - Да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 09:41 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Cat2>Это про самосоединения таблиц? Не совсем. Это возможность запроса ссылается на самого себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 11:04 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
select * from (select * from (select * from tab1)) Такая конструкция имелась в виду ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 11:57 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Я думаю что такая: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 12:10 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Согласованность по чтению на уровне предложения: Oracle - Да Согласованность по чтению на уровне транзикции: Oracle - Да Многоверсионная модель согласованности данных: Oracle - Да Несколько видов ссылочной целостности (для Oracle) В разных продуктах используется разная (фирменная) терминология Требуется какой-то комментарий чтобы понять что такое "Согласованность по чтению на уровне предложения" иначе для всех остальных баз формальным ответом будет "Нет". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 12:34 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
To f2f: Наприимер делаем запрос на выборку, дается гарантия, что все данные будут актуальны на время начала запроса. (Аналогично для транзакций). По поводу "Например в MS SQL запросы на чтение частенько блокируют и друг друга и запросы обновления, а в ORACLE - нет." Имхо ноги расстут из-за отсутствия многоверсионной модели согласованности данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 13:19 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 killed 2 mahoune: На примере DB2. Пример: вычисление уровней вершин дерева (рекурсивная структура все ж :)) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. temp - представляет дерево из 6 вершин. Просто временная табличка. gpl - запрос, который вычисляет уровни вершин и определяется рекурсивным запросом - в union стоит ссылка на gpl. Собственно, интересует наличие подобных возможностей в других серверах. ps: то что выше - один запрос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 14:02 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
На Oracle 9.2 такой запрос должен допустим, в описании синтаксиса SELECT есть subquery_factoring_clause: http://technet.oracle.com/docs/products/oracle9i/doc_library/release2/server.920/a96540/statements_103a.htm#2075668 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 14:08 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Хотя нет, не совсем. Только сейчас заметил динамическое определение массива. Разве что получится через Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 14:17 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Имхо ноги расстут из-за отсутствия многоверсионной модели согласованности данных. Со смыслом утверждения я согласен. Многоверсионности записей очень не хватает в MS SQL. Только это не проблема согласованности (она обеспечивается), а проблема блокировок. Несколько видов ссылочной целостности Аналогично - я понял, что имеется в виду, но называется это вероятно не так. По существу - в MS SQL 2000 есть cascade update и cascade delete (можно естественно и без cascade вообще). Но ! Если из одной таблицы есть две ссылки на одну другую, то при попытке установить каскад на обе связи - ругается Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 15:34 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Многоверсионности записей очень не хватает в MS SQL Изза отсутствия многоверсионности накручено несколько "Уровней изоляции". Причем пользователю(программисту интерфейса) допускается установить даже уровень "грязного чтения" и я(программист базы данных) не могу ему восприпятствовать ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 15:48 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Ту х: Я вроде не говорил что это проблема целостности. А лишь привожу примеры различных возможностей. В MSSQL и 4-ех приведенных типов, имхо, отсутствует проставление в null и в default. А вот например по поводу блокировок: Служба управления блокировками ORACLE позволяет разработчику приложений включать в блоки PL/SQL предложения, запрашивающие блокировку указанного типа, давать ей уникальное имя, распознаваемое в другой процедуре в той же самой или другой инстанции, изменять тип блокировки и освобождать блокировку. Зеркалирование транзакционного лога: Oracle - Да. Ограничение использования ресурсов(например процессорного времени): Oracle - Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 16:22 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Счетчик-столбец: MS SQL - да. Oracle - нет (реализуется при помощи последовательностей) ПОСЛЕДОВАТЕЛЬНОСТЬ (sequence) - это объект базы данных, который генерирует порядковые номера. При создании последовательности вы можете специфицировать ее начальное значение и приращение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 16:40 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 SiDen Ту х: Я вроде не говорил что это проблема целостности. А лишь привожу примеры различных возможностей. Тогда формальный ответ Согласованность по чтению на уровне предложения: MS SQL - Да Согласованность по чтению на уровне транзикции: MS SQL - Да Многоверсионная модель согласованности данных: MS SQL - Нет Несколько видов ссылочной целостности (для MS SQL): RESTRICT Правило ссылочной целостности, которое запрещает обновление или удаление адресуемых данных. - Да SET NULL При обновлении или удалении адресуемых данных все ассоциированные зависимые данные устанавливаются в NULL. - Нет SET DEFAULT При обновлении или удалении адресуемых данных все ассоциированные зависимые данные устанавливаются в умалчиваемое значение. - Нет CASCADE При обновлении адресуемых данных все ассоциированные зависимые данных обновляются соответственно; при удалении адресуемой строки все ассоциированные зависимые строки удаляются. - Аж два раза да, причем независимо - cascade update, cascade delete, но с ограничениями, как я уже писал. Ограничения самоссылочной целостности: MS SQL - Да Зеркалирование транзакционного лога: MS SQL - Нет. А зачем этим заниматься серверу базы данных ? Ограничение использования ресурсов(например процессорного времени): MS SQL - Нет. ПОСЛЕДОВАТЕЛЬНОСТЬ (sequence) - это объект базы данных, который генерирует порядковые номера. При создании последовательности вы можете специфицировать ее начальное значение и приращение. MS SQL - Нет (на уровне базы) Есть (на уровне таблицы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 17:32 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Хотел бы добавить про SEQUENCE Можно не только ставить начальное значение и приращение, но так же максимальное значение и цикличность. 2 x ПОСЛЕДОВАТЕЛЬНОСТЬ (sequence) - это объект базы данных, который генерирует порядковые номера. При создании последовательности вы можете специфицировать ее начальное значение и приращение. MS SQL - Нет (на уровне базы) Есть (на уровне таблицы) что значит на уровне таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 17:52 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 nick что значит на уровне таблицы? create table t ( c int identity(1,10) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 18:03 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
to Paul Atreidies: Например в Oracle в тврем конкретном примере, не надо так извращаться, просто Oracle поддерживает иерархические запросы в SQL. А так же в SQL есть аналитические функции которые обладают очень большими возможностями. Принцип работы аналитических функций можно представить примерно следующим образом. Допустим, что у нас есть результирующий набор данных, полученный в результате некоторой выборки. Этот набор данных может быть еще не отсортирован предложением ORDER BY, но все соединения и все условия WHERE, GROUP BY, HAVING уже выполнены. На каждую запись в этом наборе накладывается "рамка", размеры и положение которой определяются в соответствии с некоторым аналитическим условием. Через эту рамку мы как бы видим не только саму текущую запись, но и некоторые соседние с ней, т.е. целую группу записей. (Впрочем, рамка может быть наложена таким образом, что в нее попадают не соседние, а другие записи, и даже сама текущая запись не обязана попадать в рамку). Эта рамка называется "окном" (window) текущей записи. Аналитическая функция для текущей записи вычисляет агрегированное значение над группой "видимых через окно" записей. По мере "продвижения" по курсору изменяется текущая запись, для каждой из них определяется свое окно. При этом размер и положение окна могут меняться. Поэтому говорят, что окно является "скользящим" (sliding window). Размер окна может зависеть как от физического количества строк, так и логического интервала, такого, например, как время. еще тут http://www.interface.ru/oracle/anal-itiv.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2003, 21:01 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Paul Atreidies > Поддерживает ли сервер рекурсию (хоть какую) в операторе SELECT?. Оракл - Да Оракл поддерживает рекурсивные запросы с версии 8, а может раньше. Вопрос: Поддерживается ли операция MINUS над множествами (т.е. в запросах, по аналогии с UNION)? Оракл, ДБ2, postgreSQL (по-моему) - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 01:01 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
> Зеркалирование транзакционного лога: MS SQL - Нет. А зачем этим заниматься серверу базы данных ? Например нет денег на аппаратный RAID. Встречается сплошь и рядом на Оракловых серверах в нашей "богатой" стране. Думаю на МSSQL-инсталляциях этот процент еще выше. Или в MS не страшно потерять лог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 01:44 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Ту х: Согласованность по чтению на уровне транзакций есть у MSSQL без мультиверсионности? Пример. Два прользователя. Момент времени 1. Первый пользователь открывает транзакцию, что-то делает. Второй делает апдейт таблицы2. Момент времени 2. Второй читает из таблицы2. Второй еще что-то делает. Оракл дает гарантию, что в момент времени 2 первый пользователь получит данные из таблицы 1 на момент времени 1. MSSQL не дает такой гарантии имхо. Поправьте, если я не прав. ЗЫ: вообще-то я работаю с сиквелом, с ораклом только начинаю знакомиться, и различия достаточно хорошо видны. По поводу зеркалирования лога: мелочь, а приятно. Отказоустойчивость повышается избыточностью в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 08:51 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 SiDen Согласованность по чтению на уровне транзакций есть у MSSQL без мультиверсионности? Пример. Два прользователя. Момент времени 1. Первый пользователь открывает транзакцию, что-то делает. Второй делает апдейт таблицы2. Момент времени 2. Второй читает из таблицы2. Второй еще что-то делает. Оракл дает гарантию, что в момент времени 2 первый пользователь получит данные из таблицы 1 на момент времени 1. MSSQL не дает такой гарантии имхо. Поправьте, если я не прав. Да есть (а иначе как бы работали на MS SQL). Но достигается другим способом - блокировками. (Мне тоже значительно больше нравится вариант с многоверсионностью) По поводу зеркалирования лога: мелочь, а приятно. Отказоустойчивость повышается избыточностью в данном случае. Это просто рудимент позавчерашнего дня. Зеркалирование давным давно встроено в операционные системы, а теперь и в большинство материнских плат (если уж не хватило денег на нормальный RAID). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 09:54 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
По поводу зеркалирования лога: мелочь, а приятно. Отказоустойчивость повышается избыточностью в данном случае. Это просто рудимент позавчерашнего дня. Зеркалирование давным давно встроено в операционные системы, а теперь и в большинство материнских плат (если уж не хватило денег на нормальный RAID). Зеркалирование в данном случае защищает ещё и от ошибки обслуживающего персонала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 10:05 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
>Это просто рудимент позавчерашнего дня. Зеркалирование давным давно встроено в операционные системы, а теперь и в большинство материнских плат (если уж не хватило денег на нормальный RAID). Это не рудимент, а просто гибкость продукта. RAID не защитит от программного сбоя, ошибки сервера. Дублирование лога от части ошибок может защитить. По крайней мере в Oracle. Имел как-то разговор с одним забугорным админом. Для них самый важный критерий при построении системы была надежность. Так вот логи у него дублировались, каждая копия шла на отдельный RAID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 10:15 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 killed & Scott Tiger Зеркалирование в данном случае защищает ещё и от ошибки обслуживающего персонала. RAID не защитит от программного сбоя, ошибки сервера. Дублирование лога от части ошибок может защитить Поясните, не въезжаю. От каких таких ошибок программное зеркалирование защищает лучше аппаратного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 10:22 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
ну самый простейший вариант - это ошибка файловой системы. RAID кстати тоже небезупречен. Ну например может отказать батарея кэша в самый неподходящий момент. Я понимаю, что вероятность отказа современных RAID-контроллеров не так уж и велика. Хотя если речь об интегрированных в мать поделках ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 10:55 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Ту х: Вы имеете в виду ручное блокирование? Т.е. в приведенном примере после открытия транзакции я должен залочить все используемые таблицы для селектов? Что бы никто ничего не изменил до того, как в транзакции я дойду до того места что бы выбрать оттуда данные. Хотя я конечно согласен, что реализовать это можно. По условиям топикатора все проходит, согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 11:03 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 SiDen Вы имеете в виду ручное блокирование? Т.е. в приведенном примере после открытия транзакции я должен залочить все используемые таблицы для селектов? Что бы никто ничего не изменил до того, как в транзакции я дойду до того места что бы выбрать оттуда данные. Хотя я конечно согласен, что реализовать это можно. По условиям топикатора Ну вы уж совсем не уважаете Microsoft :) Нет, конечно, не ручное - автоматическое. Кстати это не такая уж редкость. Также у Sybase, также было у Watcom. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 12:12 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 DimaR, c127 Например в Oracle в твoем конкретном примере, не надо так извращаться, просто Oracle поддерживает иерархические запросы в SQL. Реализацию можно? Просто интересно посмотреть. С кратким комментарием, если используются особенности реализации SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 12:42 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Самый простой пример из доки Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 13:09 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 DimaR Спасибо. Кратко и наглядно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 13:16 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Ту х: Да я не такого уж и плохого мнения о МС :) Берем QA Открываем два окна, в одном: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Во втором: Код: plaintext 1. 2. 3. Запускаем первое, пока идет ожидание 10 секунд - запускаем второе. В результате получаем - второй селект в первом окне выдаст - 0. Т.е. без явной залочки на мсскле не обойтись. Поправьте, если я не прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 14:17 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 SiDen Запускаем первое, пока идет ожидание 10 секунд - запускаем второе. В результате получаем - второй селект в первом окне выдаст - 0. Т.е. без явной залочки на мсскле не обойтись. Поправьте, если я не прав. В MS SQL это зависит от установленного уровня изоляции. При установке уровня REPEATABLE READ или SERIALIZABLE второе окно будет ждать окончания транзакции первого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 15:01 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Ок, согласен. Только REPEATABLE READ в 2000 уже тю-тю. Только SERIALIZABLE. Here is a summary of phantom protection for both SQL Server versions 6.5 and SQL Server 2000 using SET TRANSACTION ISOLATION LEVEL. Phantom protection SQL Server 6.5 SQL Server 2000 REPEATABLE READ Yes No SERIALIZABLE Yes Yes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 15:08 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 SiDen Только REPEATABLE READ в 2000 уже тю-тю. Только SERIALIZABLE. Не понял. Куда тю-тю? Если в смысле нет его - так это неверно. Если в смысле работает не так как я сказал - это врядли, я перед ответом честно проверил именно на 2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 15:23 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Работает именно так, как Вы сказали, я тож проверял :). Меня смутила выдержка из БОЛа, которую я привел выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 15:41 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Paul Atreidies > Поддерживает ли сервер рекурсию (хоть какую) в операторе SELECT?. MSSQL - нет. Можно попытаться реализовать через UDF, возвращающих рекорд сет, если рекурсия в этом случае отработает. Но по-моему не отработает. Поправьте, кто в курсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2003, 01:48 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Что-то мы здесь все в одну кучу намешали. Предлагаю разделить обсуждения по отдельным дискуссиям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2003, 12:05 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 c127 Вопрос: Поддерживается ли операция MINUS над множествами (т.е. в запросах, по аналогии с UNION)? дб2 - есть объединение, разность и пересечение. Кстати, интересно, есть ли разница в планах если пересечение/разность строить вложенным запросом? Есть смутное подозрение что торой вариант может быть и предпочтительнее в некоторых случаях. 2 All В дб2 есть возможность связать с индексом подмножество столбцов таблицы. Т.е. для построения индекса они использоваться не будут, но при выборке по этим полям с использованием данного индекса результат будет строится только сканированием индекса. Что у других? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 15:51 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
В дб2 есть возможность связать с индексом подмножество столбцов таблицы В Oracle тоже "Эtable is created as an index-organized table. In an index-organized table, the data rows are held in an index defined on the primary key for the table." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 16:29 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2DimaR Извини, не совсем понял - это определенный вид таблиц, свойство только PK, или есть такая возможность организации для любого/всех индексов? При этом все поля сохраняются с индексом или можно указать какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 18:38 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
Это по сути таблица, но данные хранятся в сразу в древовидной структуре. Если обычный индекс не имеет смысла без таблицы (в листьевых блоках индекса прописаны указатели на строки таблицы), то здесь вместо указателей хранятся сами данные). Пример использования: небольшие справочные таблицы. В IOTs можно вывести часть столбцов в отдельный сегмент хранения. Пример: допустим в IOT три поля. ID (NUMBER), CUSTOMER_NAME (VARCHAR2(30)) и DESCRIPTION (VARCHAR2(4000). В последнем поле хранится какая-то описательная информация, к которой обращаются редко, но сама она занимает много места. Поэтому для быстроты нахождения имени пользователя по его ID в данном случае выгодно сохранить индексное дерево компактым, "убрав" вторичную информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 21:13 |
|
||
|
Сравнение различных SQL-серверов
|
|||
|---|---|---|---|
|
#18+
2 Paul Atreidies Member >Кстати, интересно, есть ли разница в планах если пересечение/разность строить вложенным запросом? Есть смутное подозрение что торой вариант может быть и предпочтительнее в некоторых случаях. Для оракла MINUS в простых случаях предпочтительнее, более хитрые случаи нужно рассматривать индивидуально. Думаю, что в ДБ2 такая же ситуация. MSSQL, Sybase ASA - нет, операция MINUS не поддерживается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 22:28 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1554365]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 348ms |

| 0 / 0 |
