Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Модификации ядра (http://mangos.ytdb.ru/forumdisplay.php?f=51)
-   -   Полная реализация возможностей MySql/Postgres (http://mangos.ytdb.ru/showthread.php?t=552)

user456 02.04.2010 14:19

Полная реализация возможностей MySql/Postgres
 
А кто в Мангосе занимается БД частью? Если честно то работа с базами путем записи/чтения данных в виде строк с эскейп последовательностями, добивка размера хеша символами 00 до нужного размера строки, постоянный перевод строки/данные "makes my cry". В то время когда обе БД прекрасно позволяют работать с данными напрямую (в мускуле кривовато правда и дофига писать надо по сравнению с постгрес). Также в обеих есть возможность работы с подготовленными запросами (prepare/statements, это когда БД один раз компилирует запрос а потом ей только подставляются параметры, в мускуле опять криво но в постгрес реализовано прекрасно).

LordJZ 02.04.2010 14:25

Все патчи можно найти на getmangos.com

ghostpast 02.04.2010 15:32

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

LordJZ 02.04.2010 17:24

Цитата:

Сообщение от ghostpast (Сообщение 3636)
у меня были мысли насчет переноса запросов в хранимые процедуры. может быть ближе к концу мая попробую реализовать для обеих БД если никто не опередит

Уже все реализовали...

Burned 02.04.2010 17:59

А можно линки в студию?
По-моему mysql prepared statements патч выкладывался только на том самом mangos.ru

ghostpast 02.04.2010 18:02

Цитата:

Сообщение от LordJZ (Сообщение 3642)
Уже все реализовали...

использовал поиск там по ключевым словам "query in store procedure" по всему форуму - ничего подобного не нашел. не могли бы вы поделиться ссылкой на патч?

LordJZ 02.04.2010 18:14

Вложений: 1
Автор не я, n0n4m3 кажется.

ghostpast 02.04.2010 18:38

Цитата:

Сообщение от LordJZ (Сообщение 3647)
Автор не я, n0n4m3 кажется.

этот патч - не то, что я хотел бы реализовать. В общем суть была следующей:
1. из кода мангоса запросы на добавление, обновление и удаление переносятся в хранимые процедуры, хранящиеся в БД.
2. В коде мангоса вместо запросов на сервер БД посылаются только параметры запроса.
Что это дает:
1. значительно уменьшается сетевой трафик между мангосом и сервером БД (в случае, если они находятся на разных машинах);
2. увеличивается скорость выполнения запроса, т. к. он компилируется СУБД;
3. код мангоса становится менее ориентированным на конкретную СУБД. Хранимые процедуры пишутся на языке SQL с учетом возможностей конкретной СУБД. Смена СУБД станет возможна без изменения кода мангоса

SilverIce 02.04.2010 18:44

http://github.com/Wyk3d/mangos/commi...bfee54b5404c8d оригинал

user456 02.04.2010 20:34

Я так понимаю через обычное скачивание http://github.com/mangos/mangos/tarball/master оно еще недоступно.

Цитата:

Сообщение от ghostpast (Сообщение 3646)
использовал поиск там по ключевым словам "query in store procedure" по всему форуму - ничего подобного не нашел. не могли бы вы поделиться ссылкой на патч?

Искать надо было по использованию соответствующего API, типа PQprepare, PQexecPrepared, PQexecParams (PostgreSQL) или mysql_stmt_prepare, mysql_stmt_bind_param, mysql_stmt_bind_result, mysql_stmt_execute (MySQL).


Текущее время: 08:53. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS