"когда я часто выполняю обновление SQL для определенного POS, операторы обновления занимают много времени"
Это не похоже на проблему производительности, но больше похоже на плохой дизайн транзакций. Несколько сеансов, пытающихся обновить одну и ту же строку, будут блокировать друг друга. Первый сеанс, который получит блокировку строки, будет блокировать все остальные, вызывая их зависание. «Долгое время» - это не само обновление и не время поиска, чтобы найти запись: это ожидание блокировки для применения обновления. Параллельная обработка не улучшит эту ситуацию.
Что касается решений, особенности зависят от архитектуры вашего приложения. Может быть целесообразно поставить в очередь обновления баланса и применить их в фоновом процессе. Может быть целесообразно ввести стратегию пессимистической блокировки с использованием синтаксиса SELECT… FOR UPDATE. Может быть, вам нужно изменить дизайн транзакций с меньшими единицами работы, чтобы вы чаще выполняли COMMIT, что означало бы, что обновление удерживает блокировку на меньшее время. К сожалению, в вашем вопросе недостаточно подробностей, чтобы мы могли предложить конкретное предложение.