Александр, Вы даже не указали насколько большая БД...
Какие индексы вообще есть...?
Какие запросы вообще выполняются и по каким полям и каким данным...? (понятно что 300 строк выбираются...)
Суть задачи, которую выполняет программа...? Возможно надо менять архитектуру и подход к этой задаче...
Akina, FANTASANTA,
Акина дело говорит...
Только я бы ещё хранил "базовую" цену в отдельном поле...чтобы всегда можно было вернуться или пересчитать от "исходной" цены...
Чтобы кто-то ответил на Ваш вопрос более точно - предоставьте структуру БД и какие в ней индексы щас расставлены + объём данных и какие данные в какой промежуток времени меняются и в каком кол-ве...
Какие индексы вообще есть...?
Какие запросы вообще выполняются и по каким полям и каким данным...? (понятно что 300 строк выбираются...)
Суть задачи, которую выполняет программа...? Возможно надо менять архитектуру и подход к этой задаче...