Автор Тема: Последний апдейт БД  (Прочитано 5985 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Последний апдейт БД
« : 14 Января 2003, 16:58:13 »
есть база mysql, как узнать время последнего апдейта базы?

это мне нужно для написания движка контроля кэша броузера - кстати очень интересная фича, на phpbuilder начитался, решил подобную штуку написать. С файлами все понятно, а вот с базой.... проблема в том, чтобы сделать обновление кэша браузера и при изменении базы, не только страницы... например при добавлении новости

...там реализовано несколько иначе - при каждом запросе на изменение базы меняется дата последнего обновления определенного файла... что по-моему не совсем оптимально, я делаю так: подаю запрос "show table status from my_db" и по полю Update_time нахожу самое свежее обновление, но или это глюк с моим сервером или так и надо, но таблицы обновляю, а этот запрос все равно дает постоянные результаты со старым временем обновления таблиц... и обновляет эту инфу только после перегрузки сервера...

так и должно быть?
может кто занимался этой проблемой?
может есть еще пути?

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
Последний апдейт БД
« Ответ #1 : 14 Января 2003, 17:33:33 »
А чем не устраивает хранить дату обновления именно в базе ?
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

Оффлайн Гаррилл

  • Наглый тип
  • Постоялец
  • ***
  • Сообщений: 202
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phpbbcms.sf.net
Последний апдейт БД
« Ответ #2 : 14 Января 2003, 18:14:29 »
Цитировать
...там реализовано несколько иначе - при каждом запросе на изменение базы меняется дата последнего обновления определенного файла... что по-моему не совсем оптимально, я делаю так: подаю запрос "show table status from my_db" и по полю Update_time нахожу самое свежее обновление, но или это глюк с моим сервером или так и надо, но таблицы обновляю, а этот запрос все равно дает постоянные результаты со старым временем обновления таблиц... и обновляет эту инфу только после перегрузки сервера...

Ерундой не занимайся. Добавь новое поле int(11), пиши туда time(), а потом сравнивай.

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Последний апдейт БД
« Ответ #3 : 14 Января 2003, 18:21:31 »
Цитировать
Ерундой не занимайся.

ага оно то так, но если я базу правлю ручками, что я делаю обычно а не через скрипт, то это мне ж постоянно надо будет записывать и это поле...

Оффлайн Tronyx

  • Модератор
  • Ветеран
  • *****
  • Сообщений: 826
  • +0/-0
  • 2
    • Просмотр профиля
Последний апдейт БД
« Ответ #4 : 14 Января 2003, 18:45:37 »
Цитировать
это мне нужно для написания движка контроля кэша броузера - кстати очень интересная фича

А что эта фича даёт? %)
С уважением, Владимир Гончаренко - COPI# 93
Ролевая онлайн игра

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Последний апдейт БД
« Ответ #5 : 15 Января 2003, 07:15:57 »
semya
тебе не приходило в голову задать этот вопрос в более подходящем форуме?

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Последний апдейт БД
« Ответ #6 : 15 Января 2003, 10:06:35 »
Цитировать
А что эта фича даёт?

очень многое... - если не изменялась страница, запрашиваемая юзером, но он или его прокся уже была на этом сайте и есть копия в кэше, то зачем ему заново пересылать страницу, мы лучше скажем его браузеру, что страницы не модифицировалась, и пусть смотрит из кэша, но тут возникает ряд проблем связанных например с тем, что структура сайта гипер запутана всегда, если не состоит из статических страничек, у меня около 10 инклудов в каждую страницу и плюс база может же обновляться, это все и наджо отслеживать... вот тут и проблема с базой всплывает... поэтому и спрашиваю, на самом деле - очень удобная вещь!

Цитировать
в более подходящем форуме?

интересно услышать в каком же.... ? если уж есть конкретные предложения, почему бы не указать их в ответе сразу? раньше помню был на этом сайте форум, посвященный только mysql, когда я писал свой вопрос, я его не нашел... вот и пишу сюда, куда еще не знаю, пойду наверно на другие форумы...

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
Последний апдейт БД
« Ответ #7 : 15 Января 2003, 11:36:55 »
Цитировать
ага оно то так, но если я базу правлю ручками, что я делаю обычно а не через скрипт, то это мне ж постоянно надо будет записывать и это поле...


semya А не поюзать ли Вам..timestamp
Мне тормоз послужил толчком...

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Последний апдейт БД
« Ответ #8 : 15 Января 2003, 12:47:56 »
Цитировать
А не поюзать ли Вам..timestamp

отличный выход из ситуации, спасибо!

но неудобство, что это поле нужно будет добавлять к каждой таблице, но в любом случае это решает проблему с перегрузкой сервера... но неужели нет более простого решения? вероятно нет...

можно конечно проверять время обновления самого файла базы данных, но это невозможно на удаленного серваке, на хостере к примеру...

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Последний апдейт БД
« Ответ #9 : 15 Января 2003, 16:49:01 »
semya
по-моему TIMESTAMP - это единственное корректное решение помимо специального файла-маркера.
•••Jah\'d never let us down!•••

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Последний апдейт БД
« Ответ #10 : 15 Января 2003, 17:10:37 »
я думаю, где-то в свойствах таблицы наверняка есть время ее последнего обновления. Насчет базы не знаю. я ж говорю - это вопрос в другой форум. Но если человек на может такой найти, то увы.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Последний апдейт БД
« Ответ #11 : 15 Января 2003, 19:28:28 »
SHOW TABLE STATUS покажет тебе то, что надо (правда, для всех таблиц, а не для бд вообще)
TANSTAAFL

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Последний апдейт БД
« Ответ #12 : 17 Января 2003, 12:24:48 »
я выяснил в чем проблема - то что mysql сервер не изменяет данных результата запроса show table status сразу после внесения изменений в базу данных связано вовсе не с самим сервером, а с утилитой, я юзал mysql-front это какие-то ее глюки, а на провайдере все норамально работает и этот запрос вполне выполняет все необходимое...

спасибо всем откликнувшимся

Оффлайн Stek

  • Обожатель PHP
  • Ветеран
  • *****
  • Сообщений: 532
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.phpdevs.com
Последний апдейт БД
« Ответ #13 : 17 Января 2003, 13:42:55 »
semya
клиент никогда не должен изменять никакого статуса таблицы, этим должна заниматся сама база. Ты случаем не с win платформы пытаешся получить этот статус ?
PHP без башни - сделай свою жизнь разнообразнее.
Разбираю скрипты, собираю заново, вытираю пыль с баз данных.

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Последний апдейт БД
« Ответ #14 : 18 Января 2003, 14:53:14 »
именно, но я же ничего не пытаюсь изменить, а лишь узнать...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28