- Регистрация
- 08.04.2017
- Сообщения
- 72
- Благодарностей
- 29
- Баллы
- 18
Доброй ночи.
Помогите оптимизировать запрос к БД.
Есть таблица с тремя полями:
1. id - автоинкремент
2. text - произвольный текст
3. int - цифра от 0 до 100 (индексация)
В таблице ~300 миллионов записей. Первая треть таблицы уже имеет рандомные значения в поле int от нуля до 100. Мне нужно получить последний ID, в котором int > 0
Сейчас юзаю:
Но запрос обрабатывается более трёх минут (из-за сортировки). Я прям чувствую что это можно оптимизировать каким нибудь подзапросом, но как?
Повторюсь, как можно быстро вытащить последнюю строку с int > 0?
Помогите оптимизировать запрос к БД.
Есть таблица с тремя полями:
1. id - автоинкремент
2. text - произвольный текст
3. int - цифра от 0 до 100 (индексация)
В таблице ~300 миллионов записей. Первая треть таблицы уже имеет рандомные значения в поле int от нуля до 100. Мне нужно получить последний ID, в котором int > 0
Сейчас юзаю:
Код:
SELECT `id` FROM `table` WHERE `int` != 0 ORDER BY `id` DESC LIMIT 1
Повторюсь, как можно быстро вытащить последнюю строку с int > 0?