|
|
|
| Есть таблица для кеша. Необходимо чтобы таблица кеша не было больше 10000 записей.
Как удалить первые записи в случае переполнения, но при этом чтобы в базе осталось не меньше 10000 записей
То есть
если 500 записей - ничего не удалять
если 10001 записей - удалить первую только
усли 10100 записей - удалить первые 100 | |
|
|
|
|
|
|
|
для: Artem S.
(23.11.2005 в 16:46)
| | Если используется MySQL 5.0 можно триггер привязать к событию вставки новой записи... Имеется ли какое-нибудь поле, по которому можно сориентироваться какая запись первая, а какая последняя (дата, уникальный индекс)? | |
|
|
|
|
|
|
|
для: cheops
(24.11.2005 в 00:28)
| | Метка времини создания есть.
Сейчас это делаю через 2 запроса.
1. Выбрать кол-во всех записей и если это больше 10000
2. Удалить (всего-10000) отсортированых по дате
Но я не думаю что это лучший вариант. | |
|
|
|
|
|
|
|
для: Artem S.
(24.11.2005 в 11:39)
| | Без триггеров лучше не получится... но они доступны только начиная с MySQL 5.0. | |
|
|
|