Учитывая, что у вас большой объем данных, и он быстро растет v, я был бы склонен добавить вторую таблицу:
price (primary key)
time( some block - also part of PK )
count
Выполнить «вставку при обновлении счетчика дубликатов ключа ++»вещь.Сгруппируйте поле времени по некоторому заданному интервалу (зависит от того, какие запросы вы получаете .. мс / сек / час / что угодно).Таким образом, вы:
don't have to mess with temp tables - with a table of this size it will write to disk - slow even with SSD
don't have to touch the initial table every time you want to do your query - might run into locking issues
Вам придется немного отредактировать свои данные, но детализация может быть предопределена, чтобы вызвать как можно меньше проблем.