У меня 200 миллионов строк даты, где они проиндексированы в столбце с именем date.
Я пытаюсь перевести таблицу в python с помощью pymysql, чтобы я мог проанализировать.
Имеет ли гдепредложение, чтобы получить меньший кусок данных, занимает больше времени, чем получение всех данных?
Вот мой запрос:
query = """
select
serial_number,
k.date,
battery_rate,
controller_battery,
mode
from table k
where k.date between date('2019-06-15') and date('2019-06-20');
"""
Я хотел бы получить всю таблицу, если это возможно, но я подумал, так как индекс находится в столбце даты, я могу использовать выражение where для получения диапазона данныхбыстрее, так как MySQL не нужно смотреть на строки вне диапазона. Поправьте меня, если моя гипотеза неверна.
Какой самый эффективный способ получения данных?
ПРИМЕЧАНИЕ: кардинальность индекса даты высока, однако я не могу его изменить.