В моей базе данных (mysql) у меня есть таблица, содержащая 50 тыс. данных (строки/записи).
Я делаю тест, используя firebug, после игры, вызов load_score.php и save_score.php составляет около 380 мс (миллисекунда).
Save_score.php просто нормальная вставка, ничего особенного. Load_score.php, я использую этот запрос:
SELECT name, score
FROM `highscores`
WHERE id =1
LIMIT 0, 10
Но в моей игре (flash) потребовалось 11 секунд (подсчитать вручную), чтобы загрузить и сохранить счет. Почему разница во времени настолько велика?
Может ли быть проблема, когда Flash получил php-данные, процесс отображения медленно?
Есть ли другие причины, почему отображение занимает больше времени?
(Если вам нужна дополнительная информация, пожалуйста, дайте мне знать)
Результат тестирования Firebug:
================================================================
= File | firebug time | actual/on web time =
================================================================
= load_score.php | 435 ms | 5 seconds(before it calls save_score.php)
= save_score.php | 643 ms | 4-5 seconds(before displaying highscore table)
================================================================
Итак, общее время для отображения рекорда = ~ 10 секунд
Другим подходом является использование amfphp library и, таким образом, отправка/получение данных во встроенном формате AMF Flash, который Flash может ускорить быстрее.
Не "ответ", но вы можете сэкономить до 5 секунд, объединив оба запроса в один. Имейте сохранение script также вернуть таблицу высоких баллов. Вы, по крайней мере, сможете сэкономить полсекунды (время передачи, сообщаемое firebug), и, возможно, больше, если по какой-то причине произойдет отсрочка вспышки.
Комментарии, приведенные выше, должны указывать вам в правильном направлении при решении или, по крайней мере, определении основной причины.