170 похожих чатов

Ребят! У меня есть таблица A на 70 тыс строк, в

БД вида:
id, identifier, created_at, deleted_at.

Сейчас мне надо последовательно выбирая из другой большой таблицы B на 5 млн строк данные последовательно увеличению timestamp, искать в первой таблице запись, которая будет соответствовать ей, т.е A.identifier==B.identifier, B.timestamp >= A.created_at && B.timestamp <= A.deleted_at, причем B.deleted_at может быть равно NULL, если пока не удалено.
Можно, конечно, каждый раз обращаться к БД и искать нужные строчки, но для 5 млн раз это долго. Хочу кешировать данные, но не знаю как сделать индекс для от и до, что бы потом в кеше искать нужную строчку по идентификатору и диапозону времени в памяти, е обращаясь повторно к БД.
Что посоветуете использовать или как грамотно самому написать?

7 ответов

13 просмотров

А это нельзя разве сделать средствами SQL?

Очевидно нужно подписаться на pg notify, и добавлять в маленькую таблицу, если строки не динамически появляются.

Andrey-Kolkov Автор вопроса
Andrey Likhachev
Очевидно нужно подписаться на pg notify, и добавля...

Там mysql. Сейчас для меня это статика, надо пересобрать отчеты используя архивные данные за прлшлые года.

Andrey Kolkov
Там mysql. Сейчас для меня это статика, надо перес...

Так если это статика - может вам в бд индексы сделать?

Andrey-Kolkov Автор вопроса
Andrey S
Так если это статика - может вам в бд индексы сдел...

Сделаны но все равно отправит запрос, найти строчки, отправить назад довольно долго. Интересно бы в памяти у себя все собрать.

Andrey S
Так если это статика - может вам в бд индексы сдел...

Там не так все просто. Его архивные данные могут быть на движке архив, который индексы не делает и работает как сторедж. Ему надо в чат по mysql и чтобы помогли с огородом

Andrey-Kolkov Автор вопроса
Миринговин
Там не так все просто. Его архивные данные могут б...

нет, движок там InnoDB, просто хочу не обращаться лишний раз к базе, пока не нужно и повысить скорость.

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет. Я верно понимаю, что в определении класса Монад m — зафиксирован (к тому же поскольку это моноид в категории эндофункторов). Т.е. используя байнд я не могу перемещать...
Arseny
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта