Оптимизация

Bag3ban1

Школьник
Репутация
19 / 1 025
Очень извеняюсь за удаление темы поэтому считаю нужным её востановить.
В этой теме я напишу только полезные сообщения из старой темы без флуда и тому подобного.

1) Как уменьшить нагрузку?

Ищи где используеться метод

Код
Код:
SELECT * FROM


убедись, что тебе НЕ нужны ВСЕ результаты из данной таблицы и замени звездоку на определенные наименования.

Например если есть запрос

Код
Код:
SELECT * FROM players where player_id='$some_id'



но в этом запросе интересует только логин пользователя, то так и напиши

Код
Код:
SELECT login FROM players where player_id='$some_id'


© AndrjuXA

2) Переделай чат на тхт файл, с самоочисткой. чтобы к базе не грузился.
Замени все что можеш на js помаксимому.
бои я бы тоже советовал на файлы сделать (но не всё только часть).

© Gangman

3) можно все не изменяемые данные пихать в сессии!

© eaglenix

4) Перепись скрипта на сесии. в начале пхп файлов, где будут использоваться сессии после


Код
Код:
<?

нужно прописать начало сессий


Код
Код:
<?
session_start();



потом можно сделать такую проверку

Код
Код:
if (!isset($_SESSION['something'])) {
$data = mysql_fetch_array(mysql_query("SELECT something FROM somewhere WHERE something_else='$variable' "));
    $_SESSION['something'] = $data['something'];
}


теперь, чтобы получить информацию, ты вызываешь переменную $_SESSION['something'], a не запрос к базе.

© AndrjuXA

5) Реализация чата на файлах.


Почитай как реализовать чат на файлах.

© Gangman

6) Насчет файлов большие файлы куда больше тормозят чем большая база и возникает куда больше сбоев в работе
Правельно построяный чат и общая база в разы увеличет скорость работы. А если еще и AJAX то это вообще будет конфентка. Тут главное правельно все оргонизовать

© Dik

7) избегать подключений к базам где много полей и самого содержимого таких как players например,лишний2 раз не стоит к ней подключатся...

© Evilidze

8) Еще вариант просто извлеч из таблици плэерс те поля которые используются редко и пеерместить их в другую а в скрипте просто изменить название таблици. У меня к примеру 3 таблици
players - основные данные о персонаже которые используются чаще всего
players_inf - инфа персонажа
players_prof - информация о профессиях, навыках и т.д что редко используется.
 
но в этом запросе интересует только логин пользователя, то так и напиши

SELECT login FROM players where player_id='$some_id'

С точки зрения безопастности и "красивости" лучше сделать так:

PHP:
SELECT `login` FROM `players` WHERE `player_id`='$some_id'

Тоесть полный запрос будет выглядеть так:

PHP:
mysql_query("SELECT `login` FROM `players` WHERE `player_id`='" . $some_id . "'");
 
Сверху