Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
 Re: MySql vs Postgre vs ?  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
Кстати, о птичках а в M$SQL появилась такая штука?

К сообщению приложен файл. Размер - 40Kb
1 авг 12, 11:16    [12944885]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ОКТОГЕН
Кстати, о птичках а в M$SQL появилась такая штука?

Table-value function?
с 2000-го года, если правильно помню, а что?
1 авг 12, 11:34    [12945067]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
ОКТОГЕН, с 2005
BOL
А кстати,давно хотел спросить у PostresSQL решили проблему падения производительности на 25% при вызове процедур(функций)?
1 авг 12, 11:37    [12945085]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
denis2710
ОКТОГЕН, с 2005
BOL
А кстати,давно хотел спросить у PostresSQL решили проблему падения производительности на 25% при вызове процедур(функций)?

всё-таки с 2000 http://msdn.microsoft.com/en-us/library/aa214485%28v=sql.80%29
User-Defined Functions That Return a table Data Type
1 авг 12, 12:08    [12945344]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
locky
Table-value function?
с 2000-го года, если правильно помню, а что?

А там можно сделать INSERT/UPDATE/DELETE?
В 2000 надо было мутить процедуру, у которой, насколько помню, были ограничения на JOIN
ЗЫ
Я имел ввиду встроенные Table-value function, например, generate_series, т.к. пришлось такие вещи писать.
1 авг 12, 12:21    [12945453]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
denis2710
А кстати,давно хотел спросить у PostresSQL решили проблему падения производительности на 25% при вызове процедур(функций)?

Про такую багу слышал давно, а вот насчёт исправления...
1 авг 12, 12:31    [12945536]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

ОКТОГЕН
Про такую багу слышал давно, а вот насчёт исправления...

Это не бага, а фича, слямзенная у Большого Брата.

Posted via ActualForum NNTP Server 1.5

1 авг 12, 12:36    [12945583]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Ёш
Member

Откуда:
Сообщений: 2892
ОКТОГЕН, а что за бага?
1 авг 12, 12:50    [12945700]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
Dimitry Sibiryakov
ОКТОГЕН
Про такую багу слышал давно, а вот насчёт исправления...

Это не бага, а фича, слямзенная у Большого Брата.

Что и у ORACLE сия "фича"? Как-то не замечал.
1 авг 12, 12:54    [12945734]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
Ёш, я натыкался на owerhead вызова SQL функций. PlPgsql функции с идентичным кодом оказывались быстрее.
1 авг 12, 12:54    [12945738]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54791

denis2710
Что и у ORACLE сия "фича"?

Угу, у него сильно разделены SQL и PL/SQL, так что вызов одного из другого тормозит.

Posted via ActualForum NNTP Server 1.5

1 авг 12, 12:59    [12945794]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
ОКТОГЕН
Я имел ввиду встроенные Table-value function, например, generate_series, т.к. пришлось такие вещи писать.

Достаточно бестолковая функция, поскольку последовательность можно легко получить одним запросом
1 авг 12, 13:45    [12946175]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
FreemanZAV
Member

Откуда:
Сообщений: 2434
Dimitry Sibiryakov
denis2710
Что и у ORACLE сия "фича"?

Угу, у него сильно разделены SQL и PL/SQL, так что вызов одного из другого тормозит.


Точнее сказать, тормозить аж п-ц
1 авг 12, 13:47    [12946189]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
ОКТОГЕН
locky
Table-value function?
с 2000-го года, если правильно помню, а что?

А там можно сделать INSERT/UPDATE/DELETE?
В 2000 надо было мутить процедуру, у которой, насколько помню, были ограничения на JOIN
ЗЫ
Я имел ввиду встроенные Table-value function, например, generate_series, т.к. пришлось такие вещи писать.

чочочо? (это я про болд)

а про insert/update/delete - таки да, можно, хоть и не без ограничений

не, встроеных - нет. но, как я понимаю, писать пришлось один раз? :)
1 авг 12, 14:24    [12946541]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
ОКТОГЕН
Ёш, я натыкался на owerhead вызова SQL функций. PlPgsql функции с идентичным кодом оказывались быстрее.

При недолгом общении с postgresql, я натыкался на этот overhead и в случае sql и pl/pgsql функций.
1 авг 12, 14:39    [12946634]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Arhat109
Member

Откуда: из СССР
Сообщений: 3430
denis2710, Забавно. Не думал что такие проблемы даже у Оракула бывают...

У нас InnoDb работает очень даже устойчиво. А ежели учесть, что во внутренней СРМ системе, какой-то гений сделал все базовые операции (контроль доступа пользователя по ключам доступа, вставку, обновление, проверку наличия такого объекта при добавлении связи, логирование и т.д.) через процедуры мускуля, да ишо передавая им json объект, который парсится вручную теми же мускульными процедурами (поубивал бы!)... и всё это держит (сервак описал выше) до 20-и одновременных пользователей без кеширований... не, Мускуль лучше, адназначна!
1 авг 12, 23:46    [12949565]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
denis2710
Member

Откуда: Москва
Сообщений: 3384
Arhat109,
У всех систем есть свои недостатки...
Про мускул общепризнанный факт оптимизатор у нее слабоват.
2 авг 12, 10:53    [12950674]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Yo.!
Guest
denis2710
Arhat109,
У всех систем есть свои недостатки...

что значит свои ? типа у прямых конкурентов при переключении от декларативного движка к процедурному просадка меньше.
2 авг 12, 12:22    [12951502]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Yo.!
denis2710
Arhat109,
У всех систем есть свои недостатки...

что значит свои ? типа у прямых конкурентов при переключении от декларативного движка к процедурному просадка меньше.

DB2 умеет вставлять тело функции в select, то бишь делать макроподстановку.
2 авг 12, 14:08    [12952525]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Yo.!
Guest
Victor Metelitsa
DB2 умеет вставлять тело функции в select, то бишь делать макроподстановку.

в оракле эта технология еще в 80х начала отмирать, уступая место PL/SQL. у IBM, к примеру, этот процесс только сейчас начался, т.е. лет на 20 позже.
2 авг 12, 15:18    [12953293]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Alexander Ryndin
Member

Откуда:
Сообщений: 4919
Блог
Victor Metelitsa
Yo.!
пропущено...

что значит свои ? типа у прямых конкурентов при переключении от декларативного движка к процедурному просадка меньше.

DB2 умеет вставлять тело функции в select, то бишь делать макроподстановку.
Это ж какую такую макроподстановку можно сделать в SELECT для цикла?
2 авг 12, 22:53    [12955499]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Сейчас там есть три сорта sql-функция
* begin ... return ... end - компилируется отдельно, называется compound SQL (compiled), наименее эффективно при прочих равных, но синтаксис "полноценный", http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0004239.html
CREATE FUNCTION increment(INOUT result INTEGER, IN delta INTEGER)
     RETURNS INTEGER
BEGIN
  DECLARE code INTEGER DEFAULT 0;
  DECLARE SQLCODE INTEGER;
  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION 
  BEGIN
       SET code = SQLCODE;
       RETURN code;
   END;
   SET result = result + delta;
   RETURN code;
END@

* begin atomic ... return ... оно inlined at run time within another SQL statement, называется compound SQL (inlined), синтаксис упрощён по сравнению с compound SQL (compiled), но цикл while таки есть, http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/index.jsp?topic=%2Fcom.ibm.db2.luw.sql.ref.doc%2Fdoc%2Fr0004240.html
CREATE FUNCTION REVERSE(INSTR VARCHAR(4000))
     RETURNS VARCHAR(4000)
     DETERMINISTIC NO EXTERNAL ACTION CONTAINS SQL
BEGIN ATOMIC
     DECLARE REVSTR, RESTSTR VARCHAR(4000) DEFAULT '';
     DECLARE LEN INT;
     IF INSTR IS NULL THEN
       RETURN NULL;
     END IF;
     SET (RESTSTR, LEN) = (INSTR, LENGTH(INSTR));
     WHILE LEN > 0 DO
       SET (REVSTR, RESTSTR, LEN) 
       = (SUBSTR(RESTSTR, 1, 1) CONCAT REVSTR, 
       SUBSTR(RESTSTR, 2, LEN - 1),
       LEN - 1);
     END WHILE;
     RETURN REVSTR;
END

* просто returm - оно самое оптимизируемое, a la
CREATE FUNCTION TAN (X DOUBLE)
     RETURNS DOUBLE
     LANGUAGE SQL
     CONTAINS SQL
     NO EXTERNAL ACTION
     DETERMINISTIC
     RETURN SIN(X)/COS(X)

или
CREATE FUNCTION DEPTEMPLOYEES (DEPTNO CHAR(3))
     RETURNS TABLE (EMPNO CHAR(6),
                    LASTNAME VARCHAR(15),
                    FIRSTNAME VARCHAR(12))
     LANGUAGE SQL
     READS SQL DATA
     NO EXTERNAL ACTION
     DETERMINISTIC
     RETURN
       SELECT EMPNO, LASTNAME, FIRSTNME
         FROM EMPLOYEE
         WHERE EMPLOYEE.WORKDEPT = DEPTEMPLOYEES.DEPTNO
3 авг 12, 09:39    [12956319]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Arhat109
Member

Откуда: из СССР
Сообщений: 3430
denis2710,
ИМХО это достоинство, а не недостаток. Значит запрос будет выполняться с большой долей вероятности именно так как напишешь. Мне похожая беда, в своё время на Access97 надоела "хуже горькой редьки" - "автопросроитель" делаешь, а потом открываешь sql и правишь как надо.

В общем-то да, заметил уже. Последнее время, не заморачиваюсь. Пишу сразу FORCE INDEX FOR (.нафига и какой.).
3 авг 12, 20:35    [12960735]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
Arhat109
Member

Откуда: из СССР
Сообщений: 3430
Кстати, Мускул тоже запросы в процедурах обрабатывает несколько медленнее чем при прямом вызове... недавно заметил. И обработка в триггерах идет в 2-3 раза медленнее чем при добавке ON DUPLICATE KEY...
3 авг 12, 20:37    [12960746]     Ответить | Цитировать Сообщить модератору
 Re: MySql vs Postgre vs ?  [new]
miksoft
Member

Откуда:
Сообщений: 38919
Arhat109
"автопросроитель"
Опечатка ли? :)
3 авг 12, 20:38    [12960751]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить