Просмотр полной версии : Полная реализация возможностей MySql/Postgres
А кто в Мангосе занимается БД частью? Если честно то работа с базами путем записи/чтения данных в виде строк с эскейп последовательностями, добивка размера хеша символами 00 до нужного размера строки, постоянный перевод строки/данные "makes my cry". В то время когда обе БД прекрасно позволяют работать с данными напрямую (в мускуле кривовато правда и дофига писать надо по сравнению с постгрес). Также в обеих есть возможность работы с подготовленными запросами (prepare/statements, это когда БД один раз компилирует запрос а потом ей только подставляются параметры, в мускуле опять криво но в постгрес реализовано прекрасно).
Все патчи можно найти на getmangos.com
ghostpast
02.04.2010, 15:32
у меня были мысли насчет переноса запросов в хранимые процедуры. может быть ближе к концу мая попробую реализовать для обеих БД если никто не опередит
у меня были мысли насчет переноса запросов в хранимые процедуры. может быть ближе к концу мая попробую реализовать для обеих БД если никто не опередитУже все реализовали...
А можно линки в студию?
По-моему mysql prepared statements патч выкладывался только на том самом mangos.ru
ghostpast
02.04.2010, 18:02
Уже все реализовали...
использовал поиск там по ключевым словам "query in store procedure" по всему форуму - ничего подобного не нашел. не могли бы вы поделиться ссылкой на патч?
Автор не я, n0n4m3 кажется.
ghostpast
02.04.2010, 18:38
Автор не я, n0n4m3 кажется.
этот патч - не то, что я хотел бы реализовать. В общем суть была следующей:
1. из кода мангоса запросы на добавление, обновление и удаление переносятся в хранимые процедуры, хранящиеся в БД.
2. В коде мангоса вместо запросов на сервер БД посылаются только параметры запроса.
Что это дает:
1. значительно уменьшается сетевой трафик между мангосом и сервером БД (в случае, если они находятся на разных машинах);
2. увеличивается скорость выполнения запроса, т. к. он компилируется СУБД;
3. код мангоса становится менее ориентированным на конкретную СУБД. Хранимые процедуры пишутся на языке SQL с учетом возможностей конкретной СУБД. Смена СУБД станет возможна без изменения кода мангоса
SilverIce
02.04.2010, 18:44
http://github.com/Wyk3d/mangos/commit/f92743a42d934518d78ca8c013bfee54b5404c8d оригинал
Я так понимаю через обычное скачивание http://github.com/mangos/mangos/tarball/master оно еще недоступно.
использовал поиск там по ключевым словам "query in store procedure" по всему форуму - ничего подобного не нашел. не могли бы вы поделиться ссылкой на патч?
Искать надо было по использованию соответствующего API, типа PQprepare, PQexecPrepared, PQexecParams (PostgreSQL) или mysql_stmt_prepare, mysql_stmt_bind_param, mysql_stmt_bind_result, mysql_stmt_execute (MySQL).
vBulletin® v3.8.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot