![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
Итак делаю логи боев для онлайн игры.
файл со всеми вариантами логов занимает 40кб! как мне лучше делать в игре: 1) загнать все в массив a[1] = "aaa...."; a[2] = "bbb....'; .... Потом рандомно выбирать один из них и заносить в базу ИЛИ 2) занести все эти шаблоны в базу: id, logTemplate 1 aaa.... 2 bbb.... 3 ccc... и каждый раз генерить число и выбирать соответствующий шаблон из базы итак выводы: 1) +: не нагружает базу, работает я думаю быстрее минусы: каждый раз при обновлении боя грузится массив на 40кб! 2) +: файл боя весит на 40кб меньше! -: дополнительные 15 запросов в базу (на странице 15 сообщений) (SELECT * FROM `logsTemp` WHERE id=123') +ко всему этого: есть отдельный модуль для просмотра логов: 15 штук на странице (все выше написаное касалось непосредственно боя). Т.е хорошо бы учесть что люди будут просматривать завершенные логи... Посоветуйте какоей вариант будет работать быстрее А ГЛАВНОЕ - создаст меньшую нагрузку на дохлый сервер. (можно предложить свой вариант) |
|||
|
||||
| Bikutoru |
|
||||||||
|
Увлекающийся ![]() ![]() Профиль Группа: Участник Сообщений: 522 Регистрация: 24.5.2005 Где: Москва Репутация: 2 Всего: 22 |
А заменить запросы типа
на
нельзя? Такие запросы (WHERE id IN (...)) выполняться будут достаточно быстро...
Вот это не понял... -------------------- Человек, словно в зеркале мир — многолик, Он ничтожен — и он же безмерно велик! Омар Хайям |
||||||||
|
|||||||||
| godsgame |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
Bikutoru
хммм... а что значит IN? думаю:
будет лучший вариант
просто если делать массивом, то соответственно в бою будет так: $a[1] = "takoj-to porazil takogo-to"; $a[2] = "takoj-to porazil takogo-to"; ... т.к файл с шаблонами этих логов занимает около 40кб, то соответственно при добавлении всех этих логов в массив $a - размер файла боя увеличится минимум на 40кб... И еще такой вопрос: после выполнения SELECT * FROM `logsTemp` WHERE id IN (123, 133, 145, 145, 678, ...)) x 1 штука результат можно занести в ассоциативный массив? |
||||
|
|||||
| AntonioBanderaz |
|
||||
![]() Velichko Anton ![]() ![]() Профиль Группа: Участник Сообщений: 851 Регистрация: 28.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 18 |
Да конечно можно.
-------------------- ГЫ... |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |