powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Прошу помощи по оптимизации моего запроса.
4 сообщений из 4, страница 1 из 1
Прошу помощи по оптимизации моего запроса.
    #40130701
MadDogMayCry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,
Имеется таблица с почти миллионом записей - dv_log, и вторая поменьше, на 600 - users_pi.

Запрос:
Код: sql
1.
2.
3.
4.
5.
select dv_log.start, dv_log.uid, users_pi.fio 
from dv_log, users_pi 
where dv_log.ip=168431576 and users_pi.uid=dv_log.uid and dv_log.start BETWEEN "2022/01/26 08:43:02" and "2022-01-27 08:44:17" 
order by start ASC 
LIMIT 1


который выполняется в цикле - десять итераций.
С каждой итерацией меняется диапазон полей dv_log.start(DATETIME) и dv_log.ip.

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

Что еще можно было бы сделать для ускорения выборки в данном случае?

Без LIMIT 1 долго выбирает. У меня напросился вывод что база бежит по всем записям и не ограничивается диапазоном DATETIME. Но я алгоритмов mysql не знаю, и представление о том как база выбирает данные и прочесывает ли с каждым запросом все поля в dv_log например, не имею. Разъясните этот момент тоже пожалуйста.

Спасибо большое что дочитали!
...
Рейтинг: 0 / 0
Прошу помощи по оптимизации моего запроса.
    #40130711
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если речь идёт об оптимизации - то для начала выкладывай полные, без редакции, CREATE TABLE для всех использованных таблиц, EXPLAIN запроса и сведения о статистике данных в разрезе условий отбора. Кроме того, в тексте запроса в принципе не должно быть имён полей без алиаса таблицы.
...
Рейтинг: 0 / 0
Прошу помощи по оптимизации моего запроса.
    #40130868
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MadDogMayCry
Код: sql
1.
"2022/01/26 08:43:02" and "2022-01-27 08:44:17" 

А почему даты в разном формате?
...
Рейтинг: 0 / 0
Прошу помощи по оптимизации моего запроса.
    #40130924
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MadDogMayCry
Имеется таблица с почти миллионом записей - dv_log, и вторая поменьше, на 600 - users_pi.

Это - ни о чём. Ты можешь всё делать в памяти без дроча бд.


MadDogMayCry
Что еще можно было бы сделать для ускорения выборки в данном случае?

Партицирование на дату, если оно там есть.

MadDogMayCry
Без LIMIT 1 долго выбирает

Долго - это сколько? Explain и схему в студию. Может у тебя отбор даты идёт раньше, чем выбор по ип.

MadDogMayCry
Спасибо большое что дочитали!

Не такая уж у тебя и большая простыня.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Прошу помощи по оптимизации моего запроса.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]