Я хочу взять данные на основе поля метки времени.Я читаю огромные файлы данных, каждый из которых имеет около миллиона записей в день.У меня есть несколько таких файлов на каждый месяц.
Теперь я хочу прочитать эти данные, но сохранить, скажем, только 5% или 10% в базе данных mysql.У меня нет предварительных знаний о количестве записей в каждом из файлов данных.
Есть ли способ, с помощью которого я могу выбрать только 5% от общего количества прочитанных данных для файла?Существуют ли какие-либо стандартные статистические подходы к этой проблеме?
РЕДАКТИРОВАТЬ на основе комментариев ниже:
До этой идеи выборки я создал раздел и индекс на основе ключана двух полях: идентификатор и дата.Поле id больше похоже на clientId.Даже при разделении на группы по 2 поля по 15 миллионов строк потребуется преступно много времени, в диапазоне от 30 до 60 минут.Я также создал и дополнительный индекс на одну группу по полю.
Мое объяснение показало бы следующее:
ПРОСТЫЕ посещения ref 3ColumnerIndex, 2ColumnIndex 2ColumnIndex 302 const 7493642 Использование где;Использование filesort
Получил эту производительность после предоставления innodb размера буфера 4 ГБ!