powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как будет работать быстрее
5 сообщений из 5, страница 1 из 1
Как будет работать быстрее
    #32093124
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как лучше сделать:

а) Создать хранимую процедру, примерно такую:

CREATE PROCEDURE RETURN_RECORDS(
FORUM_ID SMALLINT,
BEGIN_BARRIER INTEGER)
RETURNS (
MESSAGE_ID INTEGER,
MESSAGE_NAME VARCHAR(255),
READED SMALLINT,
MARKED SMALLINT,
IMPORT_DATA DATE)
AS
begin
/* Возвращает 100 сообщений принадлежащих определенному форуму */
for select first 100
message_id, message_name,
readed, marked, import_data
from messages
where message_id>:begin_barrier and forum_id=:forum_id
into :message_id, :message_name,
:readed, :marked, :import_data do
suspend;
end

А клиент будет делать запросы вида select * from return_records(1,100) where ..... (например readed=0).

б) Весь запрос формировать на клиенте. То есть отказаться от использования хран. проц.
...
Рейтинг: 0 / 0
Как будет работать быстрее
    #32093247
Привет!

Сдается мне, что скорость будет ненамного выше в случае ХП.
А учитывая простоту запроса, лучше его на клиенте формировать - ХП обычно для чего-нибудь потяжелее/посложнее используют.

Кстати, форум обычно на хостинге базируется, а там ИБ не очень любят (разве что www.yournewhosing.com ).
Поэтому лучше не привязываться к реализации ХП.

Кстати, если пишешь форум - взгляни в стону eForum на jcorporate.com - неплохая реализация на JavaServlet's, к тому же многоплатформенная.

WBR,
Alexey
...
Рейтинг: 0 / 0
Как будет работать быстрее
    #32093249
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Сдается мне, что скорость будет ненамного выше в случае ХП.

Мне тоже так кажется. Будет экономиться время на копмиляции процедуры.

>> Кстати, форум обычно на хостинге базируется, а там ИБ не очень любят

А я делаю не форум, а клиент к форуму - так что ib будет стоять у меня на машине :)
...
Рейтинг: 0 / 0
Как будет работать быстрее
    #32093320
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас тоже форум на FB сделан, но для этого специально есть MySQL - СУБД для простого хранения и выборки данных. Если тебе не нужна обработка данных (ХП, триггеры, ссылочная целостность, подзапросы и т.п.) - для этого MySQL однозначно лучше, т.к. в нём функций SQL больше.
А если тебе нужно обрабатывать данные нетривиальным образом - тогда, и нужен полноценный сервер, такой как IB. Только ты же должен понимать, что нормальный сервер (MySQL его только очень отдалённо напоминает) работает медленнее из-за всяких обработок транзакций, триггеров и т.п.
Так что ты подумай, правильно ли ты СУБД выбрал ...
...
Рейтинг: 0 / 0
Как будет работать быстрее
    #32093358
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы.

Дело в том, что это не форум. Это клиент для форума. Есть в интернете форум, который предоставляет следующий сервис - если ты посылаешь ему определенный запрос, он возвращает тебе определенный ответ. То есть посылая определенные запросы, можно получать:

а) какие сообщения появились на форуме начиная с определенной даты
б) текст этих сообщений

Моя программа получает эти сообщения, когда я нажимаю клавишу синхронизации и загружает новые сообщения в FB. Таким образом с FB работает только один человек - я и нагрузка на него небольшая. С другой стороны, так как я по работе работаю c MS SQL, то захотелось попробовать что-нибудь новое - например FB.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как будет работать быстрее
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]