Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кеш.
 
 автор: Artem S.   (23.11.2005 в 16:46)   письмо автору
 
 

Есть таблица для кеша. Необходимо чтобы таблица кеша не было больше 10000 записей.
Как удалить первые записи в случае переполнения, но при этом чтобы в базе осталось не меньше 10000 записей

То есть
если 500 записей - ничего не удалять
если 10001 записей - удалить первую только
усли 10100 записей - удалить первые 100

   
 
 автор: cheops   (24.11.2005 в 00:28)   письмо автору
 
   для: Artem S.   (23.11.2005 в 16:46)
 

Если используется MySQL 5.0 можно триггер привязать к событию вставки новой записи... Имеется ли какое-нибудь поле, по которому можно сориентироваться какая запись первая, а какая последняя (дата, уникальный индекс)?

   
 
 автор: Artem S.   (24.11.2005 в 11:39)   письмо автору
 
   для: cheops   (24.11.2005 в 00:28)
 

Метка времини создания есть.

Сейчас это делаю через 2 запроса.
1. Выбрать кол-во всех записей и если это больше 10000
2. Удалить (всего-10000) отсортированых по дате

Но я не думаю что это лучший вариант.

   
 
 автор: cheops   (24.11.2005 в 12:48)   письмо автору
 
   для: Artem S.   (24.11.2005 в 11:39)
 

Без триггеров лучше не получится... но они доступны только начиная с MySQL 5.0.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования