Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Модификации ядра

Важная информация

Модификации ядра Пересмотр и обсуждение текущего кода, реализация новых или отсутствующих возможностей ядра

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2010, 14:19   #1
user456
Новичок
 
Регистрация: 31.03.2010
Сообщений: 22
Сказал(а) спасибо: 2
Поблагодарили 23 раз(а) в 8 сообщениях
user456 На верном пути
По умолчанию Полная реализация возможностей MySql/Postgres

А кто в Мангосе занимается БД частью? Если честно то работа с базами путем записи/чтения данных в виде строк с эскейп последовательностями, добивка размера хеша символами 00 до нужного размера строки, постоянный перевод строки/данные "makes my cry". В то время когда обе БД прекрасно позволяют работать с данными напрямую (в мускуле кривовато правда и дофига писать надо по сравнению с постгрес). Также в обеих есть возможность работы с подготовленными запросами (prepare/statements, это когда БД один раз компилирует запрос а потом ей только подставляются параметры, в мускуле опять криво но в постгрес реализовано прекрасно).
user456 вне форума   Ответить с цитированием
5 пользователя(ей) сказали cпасибо:
ANTOMA (03.04.2010), DeusModus (02.04.2010), sven (03.04.2010)
Старый 02.04.2010, 14:25   #2
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Все патчи можно найти на getmangos.com
LordJZ вне форума   Ответить с цитированием
Старый 02.04.2010, 15:32   #3
ghostpast
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 46
Сказал(а) спасибо: 11
Поблагодарили 17 раз(а) в 11 сообщениях
ghostpast На верном пути
По умолчанию

у меня были мысли насчет переноса запросов в хранимые процедуры. может быть ближе к концу мая попробую реализовать для обеих БД если никто не опередит
ghostpast вне форума   Ответить с цитированием
Старый 02.04.2010, 17:24   #4
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от ghostpast Посмотреть сообщение
у меня были мысли насчет переноса запросов в хранимые процедуры. может быть ближе к концу мая попробую реализовать для обеих БД если никто не опередит
Уже все реализовали...
LordJZ вне форума   Ответить с цитированием
Старый 02.04.2010, 17:59   #5
Burned
Новичок
 
Аватар для Burned
 
Регистрация: 07.03.2010
Адрес: Украина
Сообщений: 26
Сказал(а) спасибо: 28
Поблагодарили 26 раз(а) в 8 сообщениях
Burned На верном пути
По умолчанию

А можно линки в студию?
По-моему mysql prepared statements патч выкладывался только на том самом mangos.ru
Burned вне форума   Ответить с цитированием
Старый 02.04.2010, 18:02   #6
ghostpast
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 46
Сказал(а) спасибо: 11
Поблагодарили 17 раз(а) в 11 сообщениях
ghostpast На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Уже все реализовали...
использовал поиск там по ключевым словам "query in store procedure" по всему форуму - ничего подобного не нашел. не могли бы вы поделиться ссылкой на патч?
ghostpast вне форума   Ответить с цитированием
Старый 02.04.2010, 18:14   #7
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Автор не я, n0n4m3 кажется.
Вложения
Тип файла: patch Mysql Prepared Statements db cleanup and guard_2(8480).patch (145.5 Кб, 59 просмотров)
LordJZ вне форума   Ответить с цитированием
Старый 02.04.2010, 18:38   #8
ghostpast
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 46
Сказал(а) спасибо: 11
Поблагодарили 17 раз(а) в 11 сообщениях
ghostpast На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Автор не я, n0n4m3 кажется.
этот патч - не то, что я хотел бы реализовать. В общем суть была следующей:
1. из кода мангоса запросы на добавление, обновление и удаление переносятся в хранимые процедуры, хранящиеся в БД.
2. В коде мангоса вместо запросов на сервер БД посылаются только параметры запроса.
Что это дает:
1. значительно уменьшается сетевой трафик между мангосом и сервером БД (в случае, если они находятся на разных машинах);
2. увеличивается скорость выполнения запроса, т. к. он компилируется СУБД;
3. код мангоса становится менее ориентированным на конкретную СУБД. Хранимые процедуры пишутся на языке SQL с учетом возможностей конкретной СУБД. Смена СУБД станет возможна без изменения кода мангоса
ghostpast вне форума   Ответить с цитированием
Старый 02.04.2010, 18:44   #9
SilverIce
MaNGOS Dev
 
Регистрация: 14.03.2010
Сообщений: 38
Сказал(а) спасибо: 23
Поблагодарили 49 раз(а) в 16 сообщениях
SilverIce Скоро придёт к известности
По умолчанию

http://github.com/Wyk3d/mangos/commi...bfee54b5404c8d оригинал
SilverIce вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
LordJZ (02.04.2010)
Старый 02.04.2010, 20:34   #10
user456
Новичок
 
Регистрация: 31.03.2010
Сообщений: 22
Сказал(а) спасибо: 2
Поблагодарили 23 раз(а) в 8 сообщениях
user456 На верном пути
По умолчанию

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

Цитата:
Сообщение от ghostpast Посмотреть сообщение
использовал поиск там по ключевым словам "query in store procedure" по всему форуму - ничего подобного не нашел. не могли бы вы поделиться ссылкой на патч?
Искать надо было по использованию соответствующего API, типа PQprepare, PQexecPrepared, PQexecParams (PostgreSQL) или mysql_stmt_prepare, mysql_stmt_bind_param, mysql_stmt_bind_result, mysql_stmt_execute (MySQL).

Последний раз редактировалось user456; 02.04.2010 в 20:42.
user456 вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MySQL через c++ Hantet Языки программирования 54 10.04.2013 10:38
ошибка mysql lovepsone Флудильня 8 14.12.2010 22:13
Оптимизация Mysql {my.cnf} lina Прочая документация 10 20.06.2010 00:12
Реализация системы бонусов Max Z. Корзина 3 24.05.2010 18:45
Реализация спеллов бомб и т.д frenk Баг-репорты 0 20.03.2010 00:32


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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot