|
MySQL.RU - Webboard
Вернуться
Максимум оптимизации! (needed) 03/05/2004 - 04:26:32
Re: Максимум оптимизации! (dEp) 03/05/2004 - 11:48:43
Re: Максимум оптимизации! (needed) 04/05/2004 - 01:42:09
Re: Максимум оптимизации! (dEp) 04/05/2004 - 12:26:38
Re: Максимум оптимизации! (BigBen) 08/05/2004 - 15:51:21
> Original message text:
> From: needed - 03/05/2004 - 04:26:32
> Subject:Максимум оптимизации!
> -----------------
> Идея реализации БД "игра":
>
> Таблица 1 (все игроки): id, позиция, имя т. д.
>
> Таблица 2 (он-лайн игроки): id, позиция
>
> Таблицы 1-... (личные таблицы игроков): свойства
>
> В таблице 1 хранятся все статические данные, указанные при регистрации (около 20.000.000 строк). (назначение - static)
>
> В таблице 2 хрянятся данные только он-лайн игроков (до 20.000 строк), необходимые всем, кто в он-лайн. (назначение - public)
>
> В личной таблице хрянятся часто изменяемые данные, необходимые лишь игроку персонально. (назначение - private)
>
> В среднем, позиция игрока меняется каждые 3-5 минут (особо не влияет на производительность, можно пренебречь), а свойства - до десятков секунд (очень сильно влияет на производительность).
>
> Поэтому суть оптимизации: минимизировать очередь, возникающую при обновлении данных всеми пользователями в одной таблице с множеством строк, разделив её на множество маленьких с одной строкой.
>
> Отсюда вопрос: рационален ли вариант оптимизации в данном случае и выход ли это вообще?
>
>
From: needed - 04/05/2004 - 01:42:09
Subject:Максимум оптимизации!
-----------------
Я, ведь, всё объяснил.
Личные таблицы - таблицы, используемые (очень!) часто лишь пользователем (обновление до 5-10 сек!), и никто иной не будет нуждаться в их содержимом. Отсюда, собственно, и идея разделения одной таблицы. Ведь, по сути, будь данные всех пользователей в одной таблице, то нагрузка увеличится в 10 тысяч раз! Это не есть рационально.
То бишь,
один игрок: 1 запрос каждые 5-10 сек к одной таблице
10.000 игроков: 5.000-10.000 запросов каждые 5-10 сек к одной таблице! (очевидна огромная очередь, что критично для проекта)
Думаю, 10.000 "маленьких" таблиц никак отрицательно не повлияет на скорость работы (скорее, намного увеличит. см. выше). Это с точки зрения обработки запросами. А вот повлияет ли на быстродействие самого MySQL? Сможет ли обрабатывать все эти таблицы? Точнее, на сколько синхронно? Стоит ли увеличить до 5-10 тысяч лимит открытых таблиц? Вот это те вопросы, ответы на которые меня интересуют.
Предполагая, можно ответить, что никаких проблем не ожидается. Но, практически - это мне не известно. Вот и пытаюсь узнать, сталкивался ли с подобной проблемой кто-нибудь...
Кстати, о таблицах... Есть БД, в которых их кол-во превосходит 50.000! Но КПД этих БД мне не известно.
Быть может, я могу получить ответы на перечисленные мною выше вопросы?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
14578
|
|