Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 11.12.2009, 13:11
Новичок на форуме
Отправить личное сообщение для nark03 Посмотреть профиль Найти все сообщения от nark03
 
Регистрация: 10.12.2009
Сообщений: 6

Сообщение от Gvozd Посмотреть сообщение
блин
типа так не судьба сделать?
DELETE FROM users WHERE last_time<TIME()-20
Просто если каждый клиент будет проверять активность остальных не велика ли это нагрузка?
Ответить с цитированием
  #12 (permalink)  
Старый 11.12.2009, 13:53
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от nark03
Просто если каждый клиент будет проверять активность остальных не велика ли это нагрузка?
если правильно все сделать, то все будет пучком
по-крайней мере пока вы не собиретесь написать вконтакт-2
а)вам надо для колонки с последним моментом активности юзера в БД сделать индекс. Тогда операция удаления неактивных пользователей будет достаточно быстра
запрос можно оптимизировать до
DELETE FROM active_users ORDER BY last_time WHERE last_time<TIME()-20 LIMIT 1
также можно использовать какой-нибудь семафор(например файл), или запускать удаление по cron-у, и тем самым наверняка ограничть количество запросов на удаление, без потери результата
Ответить с цитированием
  #13 (permalink)  
Старый 11.12.2009, 14:28
Новичок на форуме
Отправить личное сообщение для nark03 Посмотреть профиль Найти все сообщения от nark03
 
Регистрация: 10.12.2009
Сообщений: 6

Спасибо, будем пробовать
Ответить с цитированием
  #14 (permalink)  
Старый 12.12.2009, 18:39
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сообщение от Gvozd Посмотреть сообщение
также можно использовать какой-нибудь семафор(например файл), или запускать удаление по cron-у, и тем самым наверняка ограничть количество запросов на удаление, без потери результата
А можно пойти по стопам Зива и Энди, и при каждом обращении (после выдачи результата) с вероятностью, скажем, 5%, удалять старые записи. А с вероятностью 1% делать OPTIMIZE TABLE.

Ну, как вариант исключительно
Ответить с цитированием
  #15 (permalink)  
Старый 12.12.2009, 18:55
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от subzey
Зива и Энди
кто такие?
Ответить с цитированием
  #16 (permalink)  
Старый 12.12.2009, 19:10
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Разработчики PHP в том виде, в каком мы его знаем.
Подобным образом, с определенной вероятностью, пуржатся в пыхе мертвые сессии.
Ответить с цитированием
  #17 (permalink)  
Старый 12.12.2009, 19:43
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

В MySql команда DELETE физически данные не удаляет, а только помечает на удаление. Не вижу проблем со скоростью особенно при выборке на индексе.
Удаляет физически - OPTIMIZE TABLE, ну и новые INSERT пишут свои данные поверх помеченных на удаление.
Так что с 1% Зив и Энди как всегда рулят.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Высота страницы по высоте окна браузера Николян (X)HTML/CSS 4 16.01.2014 20:12
Вывод данных единожды, при открытии окна? Ggorsh Events/DOM/Window 1 28.04.2009 01:04
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 09:41
Завершение процесса воспроизведения видео при закрытии окна IE skif Общие вопросы Javascript 0 11.03.2009 08:11
Проблема закрытия окна (window.close()) в Mozilla и FireFox Гость AJAX и COMET 4 06.11.2008 19:22