Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 10 11 12 13 14 [15] 16 17 18 19   вперед  Ctrl
 Re: Почему ораклисты так не любят MS SQL?  [new]
andy st
Member

Откуда:
Сообщений: 899
alexey_tm
И вообще, я знаю массу людей, которые сидят на версии Oracle 8.1.7 и слазить с нее не собираются (к стати западные компании), ни кто не гонится за фичами, потому что, то что есть уже перекрывает все с головой.

аналогично некоторые (к стати западные компании) сидят на mssql 7.0 и им хватает его выше крыши.

alexey_tm

Вы же носитесь со своим Ykon(раньше с 2000) как с писаной торбой и кричите, как все круто,

а ссылку, где я кричал, слабо выдать? ;-)
мне, к примеру он уже не светит ввиду свежеобнаруженных багов

alexey_tm

почитать доку по Oracle ни у кого из вас нет времени? Там все это уже есть...

ТАМ ЕСТЬ ПРИЧИНЫ ПЕРЕХОДА программистов alexey_tm с DTS на OWB ???
WOOOW! ОФИГЕТЬ...

alexey_tm

Полное не знание предмета обсуждения.

у Вас? очень похоже....

alexey_tm

Вот вышел у нас разговор о том, что во время больших машин, было проше работать, хотя ни каких GUI не было.

...
кто вышел...
тулуп вышел...
...
я просто балдю от такого разговора

alexey_tm

Отсутсвовала каста воинственных дилетантов, которая указывала, что и как нужно делать и спорила с пеной у рта, кто кого переорет.
А теперь каждый мнит себя знатоком, и пихает то, что ему кажется знает куда попало.

а они то тут причем????

alexey_tm

Извините, надоело... Всем пока

и слава богу, честно. ;)

alexey_tm

P.S. По поводу backup так ответа и не получил. Ну чтож... Для enterprise системы это по видимому будет не нужно, пока не реализуют в MSSQL XXXX.
С наилучшими пожеланиями.

повторяю, пока не в лом ;)
ansy st

бакупы: в mssql можно юзать как встроенный бакуп, так и утилиты от сторонних фирм. и никто не мешает написать свой модуль бакупа.
тянуть данные из любых источников: влёт. openrowset, linked server - и tsql-программист даже не замечает, что он работает с какими-то другими источниками данных.
восстановление удаленных данных: если есть лог: restore log ... stopat "Время"
если нету лога - бить админа, чтобы делал часто бакуп логов или разработчика, чтобы не давал физически удалять строки из таблицы или переносил удаленные в другое место.
задача 2 - реверанс обратно: а почему вы относите аппаратные сбои в вину mssql ??? ;)
хотя
DBCC CHECKTABLE 
    ( 'table_name' | 'view_name' 
        [ , NOINDEX 
            | index_id 
            | { REPAIR_ALLOW_DATA_LOSS 
                | REPAIR_FAST 
                | REPAIR_REBUILD } 
22 ноя 05, 09:28    [2092662]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
alexey_tm
И вообще, я знаю массу людей, которые сидят на версии Oracle 8.1.7 и слазить с нее не собираются (к стати западные компании), ни кто не гонится за фичами, потому что, то что есть уже перекрывает все с головой.

Простите - это еще та версия, где даже джойнов нет или я ошибаюсь ?
22 ноя 05, 09:34    [2092680]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
ASCRUS
Простите - это еще та версия, где даже джойнов нет или я ошибаюсь ?


Джойнов в 7.3.4 нет;
22 ноя 05, 09:37    [2092690]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
s/Джойнов /Ансишных джойнов/
22 ноя 05, 09:37    [2092694]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
А сами по себе джойны (кроме FULL OUTER) - они всегда были. И в семёрке были. И в восьмёрке остались. И в десятку перешли...
22 ноя 05, 09:42    [2092713]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
DarkSquid
ASCRUS
Простите - это еще та версия, где даже джойнов нет или я ошибаюсь ?


Джойнов в 7.3.4 нет;

Мне почему то кажется, что джойны в SQL только в 9-ке появились. И не только они. В свете этого вызывает удивление, что народ сидит на 8-ке и ему фич хватает выше крыши. Хотя ... более чем уверен, открываешь код любой ХП и сразу же видишь описания курсоров.
22 ноя 05, 09:43    [2092720]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
DarkSquid
А сами по себе джойны (кроме FULL OUTER) - они всегда были. И в семёрке были. И в восьмёрке остались. И в десятку перешли...

Имеется ввиду стандарт ANSI - то есть соединения в запросах INNER/OUTER JOIN, а не вендорные расширения плюсиками, как в Оракле или звездочками, как это было в стареньком MSSQL и ASE.
22 ноя 05, 09:45    [2092729]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
aZm
Member

Откуда:
Сообщений: 2357
ASCRUS
alexey_tm
И вообще, я знаю массу людей, которые сидят на версии Oracle 8.1.7 и слазить с нее не собираются (к стати западные компании), ни кто не гонится за фичами, потому что, то что есть уже перекрывает все с головой.

Простите - это еще та версия, где даже джойнов нет или я ошибаюсь ?


провокатор ?
22 ноя 05, 09:46    [2092731]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
pkarklin
И зачем прибегать к еще чему то, если таблицу надо обрабатывать на SQL. Чеснслово - непонятно?! %)

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


Ага. Вот теперь стало более-менее понятно. Т.е. некий единый "объект", с которым можно работать как с реляционным, так и с навигационным подходом. В MS SQL для реализации второго подхода приходится использовать курсоры.
22 ноя 05, 09:46    [2092732]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
ASCRUS
Мне почему то кажется, что джойны в SQL только в 9-ке появились. И не только они. В свете этого вызывает удивление, что народ сидит на 8-ке и ему фич хватает выше крыши. Хотя ... более чем уверен, открываешь код любой ХП и сразу же видишь описания курсоров.


Мне тоже так кажется - что в девятке появилось. Но тут тестеры недавно класс с джойнами на восьмёрке протестили - всё отработало правильно почему-то... Значит были там джойны?!

А вообще - какая разница как писать;-

SELECT * from A LEFT JOIN B ON A.ID=B.ID -- ANSI SQL

или

SELECT * FROM A, B WHERE A.ID = B.ID (+) -- Oracle 7.3.4
22 ноя 05, 09:47    [2092736]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Mamon
aZm
2 pkarklin
тото и оно - ограниченно размером кэша. а в оракле - оно в принципе хранится в памяти, не сливаясь на диск :)
Да, но начиная с mssql2000, кроме временных таблиц, есть еще и табличные переменные, которые точно хранятся в памяти, пока этой памяти хватает.


Что таблицы, что табличные переменные имеют единый кэш данных. Пока его "хватает" и данные страниц "нужны" страницы "держаться" в нем. Но если объем данных "велик" для кэширования страницы табличных переменных точно также "сбрасываются" на диск в tempdb. И "структура" табличной переменной создается в tempdb.
22 ноя 05, 09:50    [2092752]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
А, так у T-SQL до сих пор нет компиляции, я правильно понимаю?


Компиляция такие есть! Но это не та же компиляция, что и в Delphi. ;) Т.е. запрос "компилируется" в "код" понятный реляционному движку для выполнения.
22 ноя 05, 09:52    [2092759]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
DarkSquid
А вообще - какая разница как писать;-

SELECT * from A LEFT JOIN B ON A.ID=B.ID -- ANSI SQL

или

SELECT * FROM A, B WHERE A.ID = B.ID (+) -- Oracle 7.3.4


Вы знаете. Вот в таком "простом" запросе действительно может быть и по-барабану. Но, когда в запросе джоиниться 3 десятка таблиц и накладывается с десяток условий, то "читабельнее", когда объединение выполнятеся во FROM, а условия в WHERE.
22 ноя 05, 09:56    [2092770]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
aZm
Member

Откуда:
Сообщений: 2357
pkarklin
Вы знаете. Вот в таком "простом" запросе действительно может быть и по-барабану. Но, когда в запросе джоиниться 3 десятка таблиц и накладывается с десяток условий, то "читабельнее", когда объединение выполнятеся во FROM, а условия в WHERE.


тут уж знаете ли, кто к чему привык :) кто к джойнам во from, кто во where. это как с оформлением кода - лесенка вроде у всех есть, но с различиями ;)
22 ноя 05, 09:59    [2092778]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DimaR
Member

Откуда:
Сообщений: 1570
pkarklin
DarkSquid
А вообще - какая разница как писать;-

SELECT * from A LEFT JOIN B ON A.ID=B.ID -- ANSI SQL

или

SELECT * FROM A, B WHERE A.ID = B.ID (+) -- Oracle 7.3.4


Вы знаете. Вот в таком "простом" запросе действительно может быть и по-барабану. Но, когда в запросе джоиниться 3 десятка таблиц и накладывается с десяток условий, то "читабельнее", когда объединение выполнятеся во FROM, а условия в WHERE.


IMHO как раз наоборот, с полюсиками текст более читабельный.
22 ноя 05, 10:02    [2092787]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
DarkSquid
ASCRUS
Мне почему то кажется, что джойны в SQL только в 9-ке появились. И не только они. В свете этого вызывает удивление, что народ сидит на 8-ке и ему фич хватает выше крыши. Хотя ... более чем уверен, открываешь код любой ХП и сразу же видишь описания курсоров.


Мне тоже так кажется - что в девятке появилось. Но тут тестеры недавно класс с джойнами на восьмёрке протестили - всё отработало правильно почему-то... Значит были там джойны?!

А вообще - какая разница как писать;-

SELECT * from A LEFT JOIN B ON A.ID=B.ID -- ANSI SQL

или

SELECT * FROM A, B WHERE A.ID = B.ID (+) -- Oracle 7.3.4

Разница есть. Попробуйте такой запрос описать без джойнов:
SELECT *
FROM a
  LEFT JOIN (b INNER JOIN c ON c.b_id = b.b_id) ON b.a_id = a.a_id
В ASA 9-ой версии вообще ввели ограничения на использование соединений через WHERE, где в документации описана достаточно большая глава, приводящая примеры запросов, которые могли бы быть неоднозначно интерпретированы оптимизатором при построении соединений в плане запросов, т.е. фактически производитель стал "надавливать" на разработчиков в сторону использования join-ов, пожертвовав совместимостью с ранними версиями 90-ых, где не было джойнов и совместимостью с TSQL MSSQL и ASE.

автор
IMHO как раз наоборот, с полюсиками текст более читабельный.

К чему привык, то и кажется удобнее. Был один у меня очень упертый товарищ, который считал так же и писал так же - довелось ему месяцок в чужой БД покапаться, где запросы исключительно на JOIN - сейчас его послушать, так он вообще удивляется - и зачем это народ в WHERE соединения с фильтрами в кучу валит и JOIN не пользуется
22 ноя 05, 10:44    [2093084]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
AAron
Member

Откуда: Москва
Сообщений: 4324
кстати, в Юконе, насколько я помню, тоже отказались от таких джойнов переведя все в ANSI-стандарт.
Мы как раз недавно конслалтили товарищей, у которых были проблемы с плюсиками/звездочками.
22 ноя 05, 11:48    [2093641]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
pkarklin
softwarer
А, так у T-SQL до сих пор нет компиляции, я правильно понимаю?

Компиляция такие есть! Но это не та же компиляция, что и в Delphi. ;)

Я имел в виду именно "ту же компиляцию, что и в Delphi". То, что выполняется компиляция в промежуточный код, imho очевидно.
22 ноя 05, 12:29    [2093977]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
pkarklin
Но, когда в запросе джоиниться 3 десятка таблиц и накладывается с десяток условий, то "читабельнее", когда объединение выполнятеся во FROM, а условия в WHERE.

Не ощущаю. Имхо удобнее, когда вся информация по одному объекту собрана в одном месте, а не размазана по двум, то есть в запросе

...
from
  table_a a,
  table_b b,
  ...
where
  ...
  -- Все что относится к b 
  b.a_id = a.a_id and
  b.date_start <= :date and
  b.date_finish >= :date and
  ...

логика читается лучше, чем в

from
  table_a a join table_b b on (a.a_id = b.a_id)
  ...
where
  ...
  b.date_start <= :date and
  b.date_finish >= :date and
  ...


Из-за этого достаточно часто начинают пихать в join дополнительные условия, которым вообще-то место именно в where или в подзапросе (то есть join с inline view), последний соответственно разбухает и становится еще менее читабельным.

Кстати, подскажите - можно ли отформатировать from с использованием join-ов так, чтобы с первого взгляда было видно, какие вообще таблицы используются? Я пока что не нашел нормального способа.
22 ноя 05, 12:39    [2094057]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
Владимир П.
Member

Откуда: Екатеринбург
Сообщений: 443
softwarer
можно ли отформатировать from с использованием join-ов так, чтобы с первого взгляда было видно, какие вообще таблицы используются? Я пока что не нашел нормального способа.


Легко видно, если форматировать в столбик:

from          A
  inner join  B  on (...)
  inner join  C  on (...)
  left  join  D  on (...)
22 ноя 05, 12:45    [2094117]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
DarkSquid
Member

Откуда: http://terredesreves.3bb.ru/
Сообщений: 4882
softwarer
Кстати, подскажите - можно ли отформатировать from с использованием join-ов так, чтобы с первого взгляда было видно, какие вообще таблицы используются? Я пока что не нашел нормального способа.



from table_a a
join table_b b on a.a_id = b.a_id
...
where
...
b.date_start <= :date and
b.date_finish >= :date and
22 ноя 05, 12:46    [2094125]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67447
Блог
ASCRUS
Разница есть. Попробуйте такой запрос описать без джойнов:

Хм. Думаю, Вы сами понимаете, что сделать это не легко, а очень легко :)

ASCRUS
в документации описана достаточно большая глава, приводящая примеры запросов, которые могли бы быть неоднозначно интерпретированы оптимизатором при построении соединений в плане запросов,

То есть JOIN ограничивает оптимизатор в возможности выбора эффективного плана запроса :)
22 ноя 05, 12:50    [2094173]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
softwarer
то есть в запросе
...
логика читается лучше, чем в
...


Предлагаю сойтись на том, что это "дело привычки".

softwarer
Из-за этого достаточно часто начинают пихать в join дополнительные условия, которым вообще-то место именно в where или в подзапросе


Рассмотрим такой запрос:

DECLARE @T1 TABLE(id int, id_name varchar(10))
DECLARE @T2 TABLE(id_FK_ID int, SomeID int, someval varchar(10))

INSERT INTO @T1 VALUES(1, 'a')
INSERT INTO @T1 VALUES(2, 'b')

INSERT INTO @T2 VALUES(1, 1, 'aa')
INSERT INTO @T2 VALUES(1, 2, 'bb')
INSERT INTO @T2 VALUES(2, 2, 'cc')

SELECT
  *
FROM
  @T1 T1
  LEFT OUTER JOIN @T2 T2 ON
  T1.id = T2.ID_FK_ID AND
  SomeID = 1

Т.е. вывести все записи из T2 по определенному SomeID плюс NULL. Таки надо пихать именно в JOIN.

Насчет " join с inline view" надо конкретный запрос увидеть, чтоб понять, что Вы имеете ввиду.

softwarer
Кстати, подскажите - можно ли отформатировать from с использованием join-ов так, чтобы с первого взгляда было видно, какие вообще таблицы используются? Я пока что не нашел нормального способа.


Ну, отформатировать можно как угодно, хотябы, чтоб имена таблиц были одна-под другой.
22 ноя 05, 12:59    [2094252]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
andsm
Member

Откуда: Москва
Сообщений: 1320
Блог
alexey_tm
К стати просвятите, вот есть баба Маша, которая спокойно удаляет строки из таблицы, потом, через час, звонит и слезно просит вернуть все обратно. Что делать? Нужно восстановить табличку на определенное время назад.

У меня стоит Lumigent Log Explorer. Можно его запустить, и для этой конкретной таблицы вернуть ее на любой момент в прошлом. Или, если не хочется откатывать а нужно откатить только некоторые транзакции, можно откатить только некоторые транзакции.
alexey_tm

Задача 2. по какой-то причине, табличка попала на сбойные блоки, базу останавливать НЕЛЬЗЯ ни на секунду, как обеспечить работоспособно (хотя бы) до момента времени X, а лучше сразу восстановить сбойные блоки в этой таблице?
Такая возможность появилась в SQL2005. Сбойные блоки можно восстанавливать на лету, без остановки работы.
22 ноя 05, 13:04    [2094296]     Ответить | Цитировать Сообщить модератору
 Re: Почему ораклисты так не любят MS SQL?  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
softwarer
ASCRUS
Разница есть. Попробуйте такой запрос описать без джойнов:

Хм. Думаю, Вы сами понимаете, что сделать это не легко, а очень легко :)

Хочется посмотреть на пример. Причем такой, по которому оптимизатор однозначно бы соединял между собой b и c внутренним соединением и приводил результат соединения, как внешнее соединение к таблице a.

softwarer
ASCRUS
в документации описана достаточно большая глава, приводящая примеры запросов, которые могли бы быть неоднозначно интерпретированы оптимизатором при построении соединений в плане запросов,

То есть JOIN ограничивает оптимизатор в возможности выбора эффективного плана запроса :)

То есть как раз JOIN-ы позволяют явно описать порядок соединения таблиц и таким образом избавиться от неоднозначности и дать возможность оптимизатору построить наиболее эффективный план запроса. Думаю не стоит напоминать, что чем более явно описаны соединения, тем легче оптимизатору правильно решить, что будет наиболее выгодным при выполнении запроса.
22 ноя 05, 13:05    [2094303]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 10 11 12 13 14 [15] 16 17 18 19   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить