Как бы я продублировал MySQL Delete, используя смещение в Elastic Search?

У меня есть сценарий MySQL, который принимает запрос к базе данных и обрезает определенное количество строк в зависимости от некоторых настроек. Так что, если у меня есть пользователь с подпиской 100 000 вещей, и пользователь загружает 110 000, сценарий отключает последние 10000.

Вот скрипт MySQL:

DELETE FROM `my_table`
WHERE id <= (
SELECT id
FROM (
SELECT id
FROM `my_table`
WHERE some_id = $this->id
ORDER BY id DESC
LIMIT 1 OFFSET $max
) sp

Где максимум 100 000

Что удалит все лишнее, с тех пор я начал реализовывать Elastic Search, и я собираюсь повторить эту функциональность, но я не знаю, с чего начать, потому что я пока не очень разбираюсь в этом программном обеспечении.

Я смотрел на метод deleteByQuery в PHP API, но я не вижу ничего о смещениях или что-то подобное.

Может ли кто-нибудь указать мне правильное направление?

0

Решение

Попробуйте это, он удалит лишние записи

DELETE FROM my_table WHERE id IN (
SELECT id
WHERE some_id = $this->id
ORDER BY id ASC
LIMIT $maxRecordsAllowed, $countHowManyToDelete
)
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector