Вот например в базе имеется таблица телефонных звонков (20 полей, 15 индексов), но вот незадача: в ней миллиард записей и выборки по ней идут крайне медленно. Изучив логи, видно, что в 99% случаев пользователей интересуют звонки только за последний месяц (это всего 50 миллионов записей), а большинство запросов над этой таблицей оперируют также данными из других таблиц существенно меньшего размера. Необходимо предложить способ увеличения скорости работы при работе с этой таблицей, не требующий изменений в запросах, с ней работающих как минимум для одной из следующих СУБД: MSSQL, Mysql, PostgreSQL, мыслей вроде много но все вроде не те... И какую СУБД лучше использовать для хранения такого рода данных?
1 и единственное что приходит в голову. Но фактически скорость увеличится. Можно разбить базу вообще на куски по месяцам например. И при запросе, определять к какому куску нужно подсоединиться и выполнять.
А вот с отсутствием изменений в запросе это проблема. Хотя туту будет не в запросе изменение, а в коде. Но короче я так понимаю нужны только способы, которые позволят увеличить производительность бд. Мне кажется без изменений кода не обойдётся в любом случае
идея тоже была разбить эту таблицу по месяцам, но вот фиг знает будет ли это удовлетворять условию задачи?