Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
14578



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |