CREATE TABLE IF NOT EXISTS `statistics` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`lid` int(10) unsigned NOT NULL,
`visit_date` datetime DEFAULT NULL,
`ip_address` varchar(25) NOT NULL,
PRIMARY KEY (`id`),
KEY `lid` (`lid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=276985 ;
Оптимизация подсчета статистики
Вопрос: есть ли какие нибудь практики/методы для оптимизации доступа к базе в таких случаях ?
Хотелось бы узнать какие финты можно применять в таких случаях ? Может создать какой нибудь кеш и брать данные с кеша одновременно обновляя и в базе в слепую или какие нить другие финты есть. Гугл уже насиловал с данным вопросом и он меня не удовлетворил в связи с чем решил обратиться к вам - профессионалам.:facepalm:
Цитата: mikhalych
Есть у меня скрипт(php) для подсчета статистик. С моего ресурса клиент может сгенерировать js-скрипт показа статистики посещения своего сайта. Мой скрипт (для подсчета статистик) находиться на платном хостинге где большая нагрузка на базу не приветствуется.
Вопрос: есть ли какие нибудь практики/методы для оптимизации доступа к базе в таких случаях ?
Хотелось бы узнать какие финты можно применять в таких случаях ? Может создать какой нибудь кеш и брать данные с кеша одновременно обновляя и в базе в слепую или какие нить другие финты есть. Гугл уже насиловал с данным вопросом и он меня не удовлетворил в связи с чем решил обратиться к вам - профессионалам.:facepalm:
Вопрос: есть ли какие нибудь практики/методы для оптимизации доступа к базе в таких случаях ?
Хотелось бы узнать какие финты можно применять в таких случаях ? Может создать какой нибудь кеш и брать данные с кеша одновременно обновляя и в базе в слепую или какие нить другие финты есть. Гугл уже насиловал с данным вопросом и он меня не удовлетворил в связи с чем решил обратиться к вам - профессионалам.:facepalm:
Конечно есть. Тут все зависит от вашего желания и возможностей. Например, у CNStats.Rating свой веб-сервер, без всякого Apache, PHP и MySql. Он регистрирует обращения и сохраняет их в памяти, а через определенные промежутки скидывает бинарные дамп на диск.
Если нагрузка не такая высокая, то можно покапать в сторону APC, memcached и т.п.
Спасибо за ответ mike. К сожалению на данный момент нету возможности купить/снять свой выделенный сервак.
Не зная логики работы скрипта и структуры базы мало что можно сказать об оптимизации.
Цитата: RussianSpy
Не зная логики работы скрипта и структуры базы мало что можно сказать об оптимизации.
Есть таблица statistics
Код:
lid = уникальный id ресурса который сгенерировал мой счетчик для себя.
При каждом посещении того или иного сайта где стоит мой счетчик, счетчик сам обращается к моему серверу, на сервере php скрипт который добавляет одну запись в эту таблицу statistics. В результате чего эта таблица стала очень большого размера.
Ну первое что бросается в глаза - почему ip хранится в виде текста?
Цитата: mikhalych
Спасибо за ответ mike. К сожалению на данный момент нету возможности купить/снять свой выделенный сервак.
чуть в оффтоп. ты сам неаписал что ты на платном, хостинге. платишь щас намного меньше чем 7 евро в месяц? просто могу посоветовать адекватный ВПС