Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Размер строк в сообщениях и немного о сохранении переменных в бд.

Статус
В этой теме нельзя размещать новые ответы.

Hикита

Умник
Немного о сохранении переменных в бд.

Ку.

Практически в каждом игровом моде замечаю, что люди, работающие с системой управление базами данных MySQL, обновляют абсолютно все данные в одном запросе даже в тех случаях, если была изменена хоть одна переменная, а иногда и просто так.
PHP:
mysql_format ( 1, query, "UPDATE db SET Q = %i, W = %i, E = %i", Q, W, E );
mysql_format ( 1, query, "%s, A = %i, S = %i, D = %i WHERE ID = 1", query, A, S, D );
...
mysql_tquery ( 1, query );
Глупо, используя ещё и общий размер строки тысячи две, а то и больше.

На сервере, игроков которого можно пересчитать по пальцам, это - пустяк, а там, где онлайн за пределами сотни? Огромные запросы, да ещё и каждую минуту, а у некоторых секунду - завалят его. Сохранять аккаунты, допустим, через каждый час - тоже не вариант, верно? Ведь можно сделать проще: выполнять запросы на обновление определённых данных во время изменения их значения. То есть, когда мы присвоили определённой переменной, существующей в базе данных, другое значение, тогда обновляем в строке только тот столбец, который был изменён.

Например:
PHP:
A = 1; // переменная 'A' изменена

// отправляем запрос на обновление столбца 'A', в строке с id равным 1
mysql_format ( 1, query, "UPDATE db SET A = %i WHERE ID = 1", A );
mysql_tquery ( 1, query );
Для обновления сразу нескольких столбцов, необходимо через запятую их дописать.
PHP:
"UPDATE db SET A = 1, B = 2, C = 3 WHERE ID = 1"
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу