Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 7 8 9 10 11 [12] 13 14 15 16 .. 26   вперед  Ctrl
 Re: Провал операции Yukon  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Учите матчасть. В Oracle временные таблицы создаются заранее администратором. Кстати DDL выполнять тоже можно, но кое-кто за это кишки выпускает :)
20 май 04, 14:31    [690380]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6905
tygra
Прямо как-то неужобно даже получается: Оракл то оказывается никогда не ложится при нагрузках и работает как часы, а огромная часть разработчиков и компаний зачем то MS SQL используют. Вот дураки! Ведь есть уже элексир счастья (Оракл), а они все ищут.


Вот смотри - есть объективно парашная псевдо-ОС под названием Windows, которую, кроме как на десктопе, ставить куда-либо опасно и совершенно глупо. А её ой как используют. Вывод - это всё маркетинг, не имеющий к реальным преимуществам продукта никакого отношения. :)

2 Karpol: надо понять, что нормальный разработчик не будет создавать временные таблицы "на лету". Подразумевается, что разработчик знает, какая структура временных данных ему нужна для работы его кода и не страдает хроническим дебилизмом, проявляющимся, например, в генерации хранимого кода другим хранимым кодом или создания/модификации таблиц и прочих структур в процессе работы приложения. Совершенно бесспорно, что заранее созданные временные таблицы удобнее в работе и способствуют созданию легкочитаемого и легкоподдерживаемого кода в большей степени, чем временные таблицы, создаваемые и удаляемые "на лету".
20 май 04, 14:32    [690381]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
eNose
Member

Откуда:
Сообщений: 183063
В каком смысле INTO?.. Боюсь, что эквивалент сего кода на Oracle будет занимать в раза два больше и придется еще дописывать на Delphi (или где там мы пишем клиента) и простым INTO здесь не обойдешься.

"INTO" в том смысле, что синтаксис так требует.

Согласен, это всего лишь пример гибкости MSSQL :)

Причем здесь гибкость???
{...} в сях, BEGIN...END в паскале - это тоже показатель ГИБКОСТИ?
Это всего лишь различия синтаксиса.

И даже на них такое тоже не сворганить, правильно? :)

Я тебя разочарую: не правильно.

-----------------------------------------------------------------------
Идиотский пример ты привел.
Я тоже так могу.
Попробуй написать в скуле
select sysdate from dual
.
Ошибку выдает?
ВЫВОД: Скуль ущербней, а Оракул гибче



eNose
20 май 04, 14:37    [690418]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Leonid
Member [заблокирован]

Откуда: From nowhere
Сообщений: 743
Scott Tiger
Вот смотри - есть объективно парашная псевдо-ОС под названием Windows, которую, кроме как на десктопе, ставить куда-либо опасно и совершенно глупо. А её ой как используют. Вывод - это всё маркетинг, не имеющий к реальным преимуществам продукта никакого отношения. :)
Ну слава тебе, господи! Нашелся таки гений. Пришел и четко все объяснил - "пАтАмуЧТА MS - MustDie! А вы, дураки его используете, пАтАмуЧТА все подстроено и куплено злым Билли.

Здрасте, Scott Tiger, а то я уже заскучал без ваших "MustDie-ев"
20 май 04, 14:42    [690440]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Drema
Member

Откуда: Москва
Сообщений: 249
автор
Учите матчасть. В Oracle временные таблицы создаются заранее администратором.


Ух ты.. так вон оно че :) А может в Oracle и SQLем нельзя пользоваться.. ну разве что только некоторыми конструкциями, которые заранее описаны администратором? :)

автор
2 Karpol: надо понять, что нормальный разработчик не будет создавать временные таблицы "на лету".


Тебе не кажется, что понятие "временные" как раз и подразумевают создание "на лету"? А иначе то, зачем все это.. Это очень удобно, советую попробовать.

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

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


Особенно, когда этих таблиц, эдак под несколько тысяч (в зависимости от количесва алгиритмов, обслуживающих БД).. а если учесть, что при этом реальных таблиц может быть штук 20, то нам необходима отдельная должность "Администратор временных таблиц Oracle". Круто.
20 май 04, 14:44    [690452]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
eNose
Member

Откуда:
Сообщений: 183063
Вот смотри - есть объективно парашная псевдо-ОС под названием Windows, которую, кроме как на десктопе, ставить куда-либо опасно и совершенно глупо.

Успех налицо: признал, что на десктопе все-таки можно
То есть не совсем MUST DIE


eNose
20 май 04, 14:45    [690463]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32174
2Зл0й

Про обработку транзакций, и мелкий-мякгий-скуль. Наш банк объединился с другим банком. А там горе-специалисты в свое время забацали кредитную систему на MS SQL. А потом ее попытались использовать во всем банке. Имеется несколько сотен пользователей одновременно работающих с базой. Несколько пиков использования БД: конец дня (3 раза по EST, CST, WST), конец месяца, конец квартала. Естественно что база при пиковой нагрузке немедленно ложится. Ну не предназначен MS SQL для таких задач. Предлагалось использовать MTS. Поток транзакций можно балансировать не только межу серверами но между собой по времени. "В очередь, сукины дети, в очередь" как говорится. То есть не допускать нагрузку на БД выше той при которой база ложится. В результате взяли старую и весьма корявую Оракловую систему, доработали ее добавив бизнес-логику из системы на MS SQL. И все замечательно заработало. Безо всяких мониторов обработки транзакций. Неблокирующее чтение, кстати, очень помогает масштабироваться.
20 май 04, 14:46    [690465]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Glory
Member

Откуда:
Сообщений: 104751
Вот смотри - есть объективно парашная псевдо-ОС под названием Windows, которую, кроме как на десктопе, ставить куда-либо опасно и совершенно глупо. А её ой как используют. Вывод - это всё маркетинг, не имеющий к реальным преимуществам продукта никакого отношения.

О как ! Теперь выясняется что оп.система отвечает за количество обрабатываемых sql-ем транзакций. Так мы скоро дойдем до BIOS-ов дисковых контроллеров.

надо понять, что нормальный разработчик не будет создавать временные таблицы "на лету".
Это за него может проделать и сам sql сервер. Например при тех же самых Merge/Hash join-ах. Получается вопрос состоит в доступности механизма онлайновых временных таблиц разработчику. Который сильно смахивает на утверждение что оптимизатор Oracle лучше поскольку предоставляет разработчику большее число хинтов.
20 май 04, 14:46    [690466]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Drema
Member

Откуда: Москва
Сообщений: 249
автор
Причем здесь гибкость???
{...} в сях, BEGIN...END в паскале - это тоже показатель ГИБКОСТИ?
Это всего лишь различия синтаксиса.
И даже на них такое тоже не сворганить, правильно? :)
Я тебя разочарую: не правильно.


Про синтаксис я прекрасно все понимаю. Давай забудем, ты просто напиши аналог того кода на Oracle, там же его не много вроде? Можешь использовать супер-пупер-специализированный-драйвер-для-Oracle, все равно. Я хочу посмотреть на код. Спасибо.
20 май 04, 14:47    [690469]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Leonid
Member [заблокирован]

Откуда: From nowhere
Сообщений: 743
автор
Совершенно бесспорно, что заранее созданные временные таблицы удобнее в работе и способствуют созданию легкочитаемого и легкоподдерживаемого кода в большей степени, чем временные таблицы, создаваемые и удаляемые "на лету".
Ни чего подобного. Мне еще не хватало следить за кучей временных таблиц, которые заранее создавать и структуру обновлять. А амину тоже больше делать нечего, как следить за этими таблицами.
20 май 04, 14:48    [690475]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32174
2Зл0й

автор
Ну не предназначен MS SQL для таких задач. Предлагалось использовать MTS.


Да что вы всё глупости повторяете! Несколько сотен пользователей для MSSQL летают на одном дешёвом серваке. А MTS никак не может ускорить их работу - только замедлить.

Вот у нас сайт работал на 6-ти процессорном SUN-е. Тормозил жутко, просто критично для бизнеса становилось. Переделали - сейчас работает на 2-х процессорном интель-сервере, на MS-технологиях, летает, да ещё и функциональности добавили. Но я-же не говорю - "не не не способны саны держать такую нагрузку!!!".
20 май 04, 14:51    [690485]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
eNose
Member

Откуда:
Сообщений: 183063
Примерно так:
declare
  myVar real;
  myRetVal integer;
  myVar2 integer;
begin
  myVar = 5.5;
  myRetVal := sp_mysp(myVar);
  
  SELECT Pol0
    INTO myVar2
    FROM const
   WHERE Pol1 = user; 
  
  SELECT Pole1
    INTO :NNN
    FROM MyTable
   WHERE Pol2 = myRetVal
     AND Pol3 = myVar2;
end;


eNose
20 май 04, 14:57    [690513]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
2 Drema : > Тебе не кажется, что понятие "временные" как раз и подразумевают создание "на лету"? А иначе то, зачем все это.. Это очень удобно, советую попробовать.

О как!!! А temporary tablespace мне тоже прикажете на лету создавать? Каждый раз, когда разработчик приконнектится к базе? Написать для него скрипт, который запускается как только он логиниться в базу и создаёт для него временное ТП?

2 Scott Tiger : Насчёт создания временных таблиц Оракл рекомендует их создавать для обработки данных, время жизни которых ограничено временем выполнения транзакции или временем сеанса, так что нет смысла при проектировании определять и создавать ВТ. Это единственный случай, когда оправдано применение DDL в ХП или клиенте (хотя за любой SQL в клиенте надо разработков такого клиента расстреливать из рогатки через одного)

-----
Все великие дела совершаются в командной строке
20 май 04, 15:03    [690546]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
2Scott
>2 Karpol: надо понять, что нормальный разработчик не будет создавать временные
>таблицы "на лету". Подразумевается, что разработчик знает, какая структура
>временных данных ему нужна для работы его кода и не страдает хроническим >дебилизмом, проявляющимся, например, в генерации хранимого кода другим >хранимым кодом или создания/модификации таблиц и прочих структур в процессе >работы приложения. Совершенно бесспорно, что заранее созданные временные >таблицы удобнее в работе и способствуют созданию легкочитаемого и >легкоподдерживаемого кода в большей степени, чем временные таблицы, >создаваемые и удаляемые "на лету".
Совершенно с Вами согласен. Более того... Всем известно, что специализированные приложения зачастую работают значительно быстрее, чем некие универсальные решения. Что приводит нас к логичному вроде-бы выводу: под каждый запрос необходим свой собственный механизм хранения и извлечения данных. По *nix традиции можно предоставлять исходники на C, а при установке/изменении запроса - просто производить полную перекомпиляцию ядра сервера.
P.S. А ежели серъезно... Даже Бог ничего заранее не знает... А уж мы-то, грешные... что мы можем предугадать?
20 май 04, 15:09    [690566]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Временные таблицы НЕ ТРЕБУЕТСЯ СОЗДАВАТ НА ЛЕТУ
Что значит за SQL на клиенте ???
20 май 04, 15:09    [690569]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
Не требуется, но рекомендуется

Когда какой-нить запрос прошит в коде приложения. Грубо говоря, когда том жу Query на делфе или билдере явно стоит select <чего-то там> from <откуда-то>
-----
Все великие дела совершаются в командной строке
20 май 04, 15:16    [690606]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Drema
Member

Откуда: Москва
Сообщений: 249
автор
declare
myVar real;
myRetVal integer;
myVar2 integer;
begin
myVar = 5.5;
myRetVal := sp_mysp(myVar);

SELECT Pol0
INTO myVar2
FROM const
WHERE Pol1 = user;

SELECT Pole1
INTO :NNN
FROM MyTable
WHERE Pol2 = myRetVal
AND Pol3 = myVar2;
end;


И что он у вас возвращает? Мой запрос возвращает курсор на результирующие данные, то есть таблицу, а не ОДНО значение (:NNN) как у вас.
20 май 04, 15:31    [690683]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
eNose
Member

Откуда:
Сообщений: 183063
2 Drema:
А кто сказал, что NNN - ОДНО значение???


eNose
20 май 04, 15:34    [690695]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Drema
Member

Откуда: Москва
Сообщений: 249
автор
...просто производить полную перекомпиляцию ядра сервера.


Приехали.. вы в каком веке живете?
20 май 04, 15:35    [690708]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Drema
Member

Откуда: Москва
Сообщений: 249
автор
О как!!! А temporary tablespace мне тоже прикажете на лету создавать? Каждый раз, когда разработчик приконнектится к базе? Написать для него скрипт, который запускается как только он логиниться в базу и создаёт для него временное ТП?


Это проблемы реализации, в MSSQL значит это же как-то решено..
20 май 04, 15:40    [690738]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Drema
Member

Откуда: Москва
Сообщений: 249
автор
А кто сказал, что NNN - ОДНО значение???


Тогда что-же это?
20 май 04, 15:41    [690744]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Karpol
Member

Откуда:
Сообщений: 92
автор

2 Karpol: надо понять, что нормальный разработчик не будет создавать временные таблицы "на лету". Подразумевается, что разработчик знает, какая структура временных данных ему нужна для работы

Разработчик знает откуда и какие данные ему надо вытащить, а описывать на каждом этапе хранилища для временных данных ему ненужно и неинтересно.
Оказалось что нужно пару полей добавить во время выборки, впиши в селект и досвидания. А тут оказывается надо еще поле добавить во временную таблицу. Идеолония временной таблицы в том чтобы сохранить временно данные как в переменные. Неужели чтобы создать переменную в процедуре тебе не надо звать админа, чтобы он что-нибудь тебе скреатил? В MS SQL временная таблица сравнима с двухмерным массивом данных описанным в процедуре и поддающимся таким же методам выборки как из таблиц. Тригера и прочая ерудна тут не важна
20 май 04, 15:51    [690782]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
2 Borland

Вы или шутите или заблуждаетесь.
В этом флейме учавствовать нехочу, если есть желание пообщаться то приватно.
20 май 04, 15:54    [690806]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
2 Drema : Да причём тут особенности реализации. Временное ТП создаётся один раз при создании базы. И всё! Это первое. И второе - вы даже не знаете. зачем оно нужно. А берётесь судить о терминах.

-----
Все великие дела совершаются в командной строке
20 май 04, 15:57    [690816]     Ответить | Цитировать Сообщить модератору
 Re: Провал операции Yukon  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6905
2 Drema: ну не бывает приложений на Oracle с тысячами временных таблиц. Для работы с небольшими объёмами данных обычно используют вложенные селекты, курсоры и т.п. Для хранения наборов переменных внутри процедуры можно использовать, например, записи (records).

2 Borland: можно ссылку на рекомендации Oracle Corp. создавать GTT на лету? Не верится что-то.
20 май 04, 16:12    [690885]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 7 8 9 10 11 [12] 13 14 15 16 .. 26   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить