Здравствуйте, гость ( Вход | Регистрация )

> mysql
Famous
сообщение 20.5.2017, 1:07
Сообщение #1


******

Expert
Сообщений: 635
Регистрация: 12.4.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 3.499



всем привет.

хочу поинтересоваться, как лучше обновлять записи в таблице?
то есть, делать это всегда когда игрок заходит или лучше раз в 24 часа ?
когда обновляешь запись в базе, нужно обязательно писать db.close или это не стоит?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Famous
сообщение 20.7.2017, 10:26
Сообщение #2


******

Expert
Сообщений: 635
Регистрация: 12.4.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 3.499



ну папример топ500
всегда открыт коннект и когда игрок заходит в игру, идет записать в базу данных и после этого все равно соединение остается открытым.

как лучше сделать топ500 ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 20.7.2017, 15:53
Сообщение #3


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 6039
Пользователь №: 15.607



Цитата(Famous @ 20.7.2017, 9:26) *

ну папример топ500
всегда открыт коннект и когда игрок заходит в игру, идет записать в базу данных и после этого все равно соединение остается открытым.

как лучше сделать топ500 ?


Лучше делать такое в режиме live, когда у тебя при каждом обновлении атрибутов, которые нужны для топа будет обновляться таблица в базе. Допустим если у тебя даётся опыт за монстров и ты хочешь сделать топ500 игроков по накопленному опыту. У тебя при получении опыта каждый раз будет обновляться таблица в базе. Разумеется что делать все это надо асинхронно через AQUERY/AEXECUTE или как там в сферах.

Когда человек заходит на сайт, ты уже просто через SQL запрашиваешь данные используя order by и limit 500.

Можно так-же делать раз в х времени по таймеру/при старте сервера, проходиться по всем персонажам, соберать данные и записывать в таблицу в базе. Это хоть и будет выполняться реже, но будет нагружать сервер сильнее и возможно даже создавать лаги ( смотря сколько у тебя данных в памяти сервера ).
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Famous   mysql   20.5.2017, 1:07
Reality Audit   Смотря какие и сколько. Ты для статистики играющих...   16.7.2017, 15:07
Llirik   Смотря, что ты собираешься делать. Если TOP, то, е...   16.7.2017, 18:59
Famous   Смотря, что ты собираешься делать. Если TOP, то, ...   17.7.2017, 8:46
Aimed   Если Connect делаешь то и Close всегда после выпол...   17.7.2017, 11:38
Famous   при запуске db.connect и все, а потом уже команды ...   18.7.2017, 20:46
Aimed   при запуске db.connect и все, а потом уже команды...   19.7.2017, 11:56
Juzzver   Открыл коннект, поработал с базой, закрыл коннект...   19.7.2017, 11:04
Reality Audit   Смотря какой лимит пула конекций базы. Ребутить ба...   19.7.2017, 18:56
Juzzver   Если ты не закрыл сессию с подключением, то она п...   20.7.2017, 15:56
Famous   Понял:) спасибо У меня в данном случае 5 таблиц и ...   20.7.2017, 17:53
Aimed   И что же ты понял если ты задал тот же самый вопро...   20.7.2017, 20:21
Famous   Например, при онлаин 50+ игрок зашел в игру (обнов...   20.7.2017, 21:00
Aimed   Например, при онлаин 50+ игрок зашел в игру (обно...   20.7.2017, 21:56
Famous   пасибо :)   20.7.2017, 22:57
Llirik   Приведите пример AQUERY/AEXECUTE!   20.7.2017, 23:12
Aimed   Приведите пример AQUERY/AEXECUTE! У тебя пр...   20.7.2017, 23:57
Reality Audit   Пиво @Juzzver`y Открытие коннекции, сбор атриб...   21.7.2017, 20:10
Aimed   Пиво @Juzzver`y Открытие коннекции, сбор атри...   22.7.2017, 5:38
Soteric   В сфере есть пул коннектов? Или на каждый запрос о...   22.7.2017, 5:18
Reality Audit   От задачи зависит :wacko: @Soteric у базы есть   22.7.2017, 11:08
Aimed   От задачи зависит :wacko: @Soteric у базы есть ...   22.7.2017, 22:53
Soteric   Конечно нет. Открываешь/закрываешь новое подключе...   23.7.2017, 1:26
Aimed   Везде обычно коннект открывается один раз в начал...   23.7.2017, 3:32
Soteric   При синхронной работе почти всегда открывается ко...   23.7.2017, 13:54
Reality Audit   :blink: Даже двухнедельный junior разработчик п...   23.7.2017, 19:47
Aimed   :blink: Даже [url=https://habrahabr.ru/post/101...   24.7.2017, 0:02
Reality Audit   Гипотетическая задача была дана, - сделать топ500...   23.7.2017, 10:09
Llirik   У меня коннект открывается всего лишь 1 раз при ст...   23.7.2017, 15:15
Aimed   У меня коннект открывается всего лишь 1 раз при с...   24.7.2017, 0:45
Juzzver   А если он по каким либо причинам закроется еще до...   23.7.2017, 19:32
Aimed   А если он по каким либо причинам закроется еще до...   24.7.2017, 0:58
Llirik   Каких нах утечек? Вы знаете, что надо создавать та...   24.7.2017, 20:46
Aimed   Каких нах утечек? Вы знаете, что надо создавать т...   25.7.2017, 5:01
Reality Audit   Каких нах утечек? Вы знаете, что надо создавать т...   25.7.2017, 18:37
Llirik   Вы каждый раз файл через [EOF] закрываете?   25.7.2017, 20:37
Reality Audit   Вы каждый раз файл через [EOF] закрываете? Дава...   27.7.2017, 17:56
Aimed   Давай сверим часы чувак, сейчас четверг гребанног...   27.7.2017, 19:05
Reality Audit   Не, это у него такая свойственная манера общения....   28.7.2017, 16:09


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 19.7.2025, 16:57
Designed by Nickostyle