Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 37 38 39 40 41 [42] 43 44 45 46 .. 75   вперед  Ctrl
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Yo.!,

что же касается "немного из другой оперы" - дык как раз из той, собственно.
А равно - непонятен мини-реверанс в сторону "транзакционно независимы".
Дык это ж и хорошо, собственно!
Более того, я хотел бы иметь возможность завести себе нетранзакционные временные таблицы, постоянные таблицы, а также таблицы с гранулированными авто-коммитами (нетранзакционные, разумеется).
3 фев 09, 21:33    [6775037]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Yo.!
locky

Опытные люди вместо "времянок" используют table var.
Еще более опытные люди не забывают при этом про option (recompile).
пример - был выше - про выбор списка предложений (я, правда, мог его переврать немного, т.к. по памяти такое вспоминать сложно, а бумажку я найти не могу).

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

именно временные таблицы уже используют совсем в крайних случаях
и под ВТ я например понимал табличные переменные
но опять же - разговор шел не про производительность, а про удобство написания
ну это же ненормально когда я в оракле выбираю данные в таблицу-переменную, а выбрать из неё запросом или заджоинить не могу
поэтому и приходится делать материлизованные вью, пайплайн функции :)
3 фев 09, 21:39    [6775050]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
проходящий.
vadiminfo,

спасибо, но ничего нового, по крайней мере для меня, Вы не сообщили и не продемонстрировали. Увы, в том числе и осмысления мной написанного. Вместо попытки осмысления сразу пошло киданье грудью на абразуру с целью защиты азбучных, на Ваш взгляд, истин и просвещения лохов. Правда в качестве аргументов опять набор ничего не доказывающих штампов.

В делении сетевых архитектур на клиентсерверные и файл сервеные ниче нового вроде и не было до сегодняшнего дня. От того и удивился к отсылке читать статьи про многозвенки от Фокспрошника, чтобы понять как это поможет Фокспро что-то там нарешать. В таких статьях в основном "азбучные истины", но не мой взгляд, а в "привычном понимании". Вспомнил журналы СУБД эдак 15-летней давности где про это писалось.
Кстати, вспомнил еще, что ЧАЛ толкал созвучные идеи "Фокс - средство разработки серверов БД", тока у него Мумпс - средство разработки СУБД.
Возможно, использование отдельных СУБД как средство разработки, и сравнение их в этом качестве подходит для новой темы. Там Ораклы и Скули не поучавствуют: они сто подово не средсто разработки СУБД, а всего лишь БД. Правда, в ту тему может припереться С, но это небольшая плата за новые типа идеи.
3 фев 09, 22:15    [6775111]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Yo.!
Guest
locky

что же касается "немного из другой оперы" - дык как раз из той, собственно.
А равно - непонятен мини-реверанс в сторону "транзакционно независимы".

как я понимаю прогон с "удобством" временных таблиц я убедил, и мы так плавно соскакиваем на сравнение переменных ? я все верно понял ?

locky

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

звиняюсь, пропустил, речь об этом ?
locky

Есть список "предложений на продажу".
необходимо выбрать 20 из них, в таком порядке:
1. По порядку дат.
2. если в списке все предложения - без картинок, то заменить 5 предложений на пусть более поздними, но с картинками.
3. если в списке нет ни одного "проплаченного" предложения - добавить наиболее свежее проплаченное предложение.


не понимаю, чем трудность то возникла, делаете обычные GTT и туда складывайте промежуточные результаты. нафига тут на лету что-то создавать ?

SergSuper
но опять же - разговор шел не про производительность, а про удобство написания

1. если разговор об удобстве то в чем проблема ? делайте create global temporary table as select а автономной транзакции
2. об том и речь что в мсскл выбор или красиво но не работающе под нагрузкой или некрасиво но масштабируемо.

SergSuper

ну это же ненормально когда я в оракле выбираю данные в таблицу-переменную, а выбрать из неё запросом или заджоинить не могу

а че мешает то ?
3 фев 09, 22:20    [6775119]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67390
Блог
SergSuper
ну это же ненормально когда я в оракле выбираю данные в таблицу-переменную, а выбрать из неё запросом или заджоинить не могу поэтому и приходится делать материлизованные вью, пайплайн функции :)

Простите, но это Вы говорите какой-то бред, хоть и со смайликом. Выборку запросом и джойн я показываю, а вот материализованные вью и пайплайн функции.... можно употребить в таком контексте только если не очень понимать, что это такое.

Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 
Connected as test

SQL> create type TIntTable is table of integer;

Type created

SQL> set serveroutput on;
SQL> declare
  2    cursor crRows (i TIntTable) is
  3      select t1.column_value i1, t2.column_value i2
  4      from (select rownum column_value from dual connect by level <= 2) t2, table (i) t1;
  5    i TIntTable;
  6  begin
  7    select rownum bulk collect into i from dual connect by level <= 10;
  8    for cr in crRows (i) loop
  9      dbms_output.put_line ('i1 = ' || cr.i1 || ' i2 = ' || cr.i2);
 10    end loop;
 11  end;
 12  /

i1 = 1 i2 = 1
i1 = 2 i2 = 1
i1 = 3 i2 = 1
i1 = 4 i2 = 1
i1 = 5 i2 = 1
i1 = 6 i2 = 1
i1 = 7 i2 = 1
i1 = 8 i2 = 1
i1 = 9 i2 = 1
i1 = 10 i2 = 1
i1 = 1 i2 = 2
i1 = 2 i2 = 2
i1 = 3 i2 = 2
i1 = 4 i2 = 2
i1 = 5 i2 = 2
i1 = 6 i2 = 2
i1 = 7 i2 = 2
i1 = 8 i2 = 2
i1 = 9 i2 = 2
i1 = 10 i2 = 2

PL/SQL procedure successfully completed
3 фев 09, 22:20    [6775120]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67390
Блог
locky
Хотя, наверное, можно бы.

Есть список "предложений на продажу".
необходимо выбрать 20 из них, в таком порядке:
1. По порядку дат.
2. если в списке все предложения - без картинок, то заменить 5 предложений на пусть более поздними, но с картинками.
3. если в списке нет ни одного "проплаченного" предложения - добавить наиболее свежее проплаченное предложение.

Я, признаться, не понял. И в чём проблема написать это одним запросом? Тривиально.....

P.S. Помнится, пару лет назад iscrafm на протяжении десяти не то двадцати страниц пытался придумать такую задачу. Так и не смог.
3 фев 09, 22:24    [6775131]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Yo.!
Guest
джойнить с переменными в оракле можно и через TABLE():

where a.subject_id in (select * from table(cast(array1 as myuser.int_table_type)) as dummy_table1 )

у меня примерно так из пхп передается пхп-шный массив прямо в pl/sql процедуру, где массив одним SQL запросом джоинится с запросом по бд. единственно пришлось хинтами план прибить.
3 фев 09, 22:49    [6775188]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
locky
Нда... и это после моих слов "доменный эккаунт".

Под sa, под sa, не волнуйся так


Зачем тогда обманываете? :)
3 фев 09, 22:50    [6775191]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
SergSuper
нда, "Диагноз товарища Саахова подтвердился":)

Это не диагноз, это просто ничем не обоснованные букафки... Не более того.
3 фев 09, 22:53    [6775198]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
softwarer
Я, признаться, не понял. И в чём проблема написать это одним запросом? Тривиально.....

Ві знаете, я тоже многие вещи могу сделать "одним запросом".
Вот только далеко не факт, что это будет сопровождаемо/понятно/работать быстро.
3 фев 09, 23:06    [6775240]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Yo.!

не понимаю, чем трудность то возникла, делаете обычные GTT и туда складывайте промежуточные результаты. нафига тут на лету что-то создавать ?

ээээ... может быть мне еще заодно отказаться от локальных переменных (а нафига они?) и использовать исключительно пакетные? (а что, я видел такое приложение. Весьма эррротично).

зы кстати, вот еще не знаю - что происходит с GTT при рекурсивном вызове процедур и псевдо-рекурсивном вызове? (A call B, B calls C, C call A)?
3 фев 09, 23:09    [6775245]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Yo.!

как я понимаю прогон с "удобством" временных таблиц я убедил, и мы так плавно соскакиваем на сравнение переменных ? я все верно понял ?

Уважаемый, они хоть и var, но всё-таки table
3 фев 09, 23:11    [6775248]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
locky
softwarer
Я, признаться, не понял. И в чём проблема написать это одним запросом? Тривиально.....

Ві знаете, я тоже многие вещи могу сделать "одним запросом".
Вот только далеко не факт, что это будет сопровождаемо/понятно/работать быстро.


... кхм... и документировано... (выстрелфспину)

3 фев 09, 23:11    [6775250]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Yo.!
джойнить с переменными в оракле можно и через TABLE():

т.е. мы декларируем переменную, которая не таблица, но которая для нас имеет смысл таблицы, мы заполняем её данными, мы явно приводим её к таблице. Т.е. нам нужна таблица, но её нет, зато есть переменная, которую мы можем.....
Правда, индексов по ней не построишь, но это мелочи
3 фев 09, 23:13    [6775257]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
МСУ

... кхм... и документировано... (выстрелфспину)

Ага. Причем - автоматически.
3 фев 09, 23:13    [6775258]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
locky
МСУ

... кхм... и документировано... (выстрелфспину)

Ага. Причем - автоматически.

И что характерно - "оно само как-то". "там".
3 фев 09, 23:14    [6775259]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
locky
locky
МСУ

... кхм... и документировано... (выстрелфспину)

Ага. Причем - автоматически.

И что характерно - "оно само как-то". "там".

Ну дык для того, кто не знает о том, что говорит - оно да, "как-то там"... ;)
3 фев 09, 23:15    [6775262]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
МСУ
Ну дык для того, кто не знает о том, что говорит - оно да, "как-то там"... ;)

Для вас, штоле?
3 фев 09, 23:19    [6775266]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Yo.!
Guest
locky

ээээ... может быть мне еще заодно отказаться от локальных переменных (а нафига они?) и использовать исключительно пакетные? (а что, я видел такое приложение. Весьма эррротично).

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

locky

зы кстати, вот еще не знаю - что происходит с GTT при рекурсивном вызове процедур и псевдо-рекурсивном вызове? (A call B, B calls C, C call A)?

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

locky

т.е. мы декларируем переменную, которая не таблица, но которая для нас имеет смысл таблицы, мы заполняем её данными, мы явно приводим её к таблице. Т.е. нам нужна таблица, но её нет, зато есть переменная, которую мы можем.....

да-да, в пхп мы заполняем данными из формы массив, который чудесным образом появляется в pl/sql процедуре, где мы и делаем джоин.
так чо у нас с примером где без табличных переменных никак ?
3 фев 09, 23:31    [6775288]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
locky
МСУ
Ну дык для того, кто не знает о том, что говорит - оно да, "как-то там"... ;)

Для вас, штоле?


Отчего же? Для Вас, разумеетси. Али не согласны, бать?
3 фев 09, 23:34    [6775294]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Пошто Eugenkru1 опять заблокировали?
3 фев 09, 23:35    [6775298]     Ответить | Цитировать Сообщить модератору
 Re: Выбор СУБД!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Yo.!
зачем, раз уж мы выяснили, что локальные временные таблицы мсскл бесполезный хлам то сможем всецело сконцентрироваться на сравнении типов переменных обоих серверов. смысла сравнивать переменные с GTT я в упор не вижу ...

Пока что мы выяснили, что в оракле нет локальных временных таблиц (и не предвидится), посему некоторые ораклоиды считают их "бесполезным хламом" ;)

Yo.!
GTT думаю по сессии разводится, потому и говорю что смысла таблицы с переменными сравнивать бессмыслено. думаю в плане мсскл рекурсия не актуальна т.к. рекурсия мсскл ограничина 32 уровнями, т.е. в большинстве случаев рекурсивные алгоритмы применить не получится.

Еще бы они по сессиям не разводились - то то было бы смеху - зачем их придумали?
32, говоришь, нету смысла, говоришь... в варианте A->B->C->A - уровень вложенности всего 4 - как считаешь, возможна такая ситуация - или бессмысленна?

Yo.!
так чо у нас с примером где без табличных переменных никак ?

Навскидку? Ну, не знаю. Надо подумать.
кстати, а можно встречный вопрос: если такие локальные временные таблицы так не нужны - зачем в оракле есть коллекции и даже функция приведения TABLE? Ведь, насколько я понял - не бывает таких случаев, когда "без табличных переменных - никак"?
3 фев 09, 23:43    [6775315]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
МСУ
Отчего же? Для Вас, разумеетси. Али не согласны, бать?

Ну, раз уж мне непонятно, давайте начнем с вас.
На основании чего мега-тулзы ORM'а автоматически генерируют документацию?
3 фев 09, 23:44    [6775318]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
МСУ
Member [заблокирован]

Откуда: http://codearticles.ru
Сообщений: 31089
locky
МСУ
Отчего же? Для Вас, разумеетси. Али не согласны, бать?

Ну, раз уж мне непонятно, давайте начнем с вас.
На основании чего мега-тулзы ORM'а автоматически генерируют документацию?

На основании чего Вы отказались читать линки по автогенерации документации кода?
3 фев 09, 23:57    [6775350]     Ответить | Цитировать Сообщить модератору
 Re: тогда вопрос номер два!  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
МСУ
На основании чего Вы отказались читать линки по автогенерации документации кода?

Видимо, на основании непредоставления линков?

зы м.б. я просто пропустил этит пост - всё может быть. В таком случае - напомните мне, где именно были приведены линки.
4 фев 09, 00:00    [6775352]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 37 38 39 40 41 [42] 43 44 45 46 .. 75   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить