Да, если важно, чтобы данные были единообразными для всех операторов выбора. Например, если вы получаете баланс нескольких банковских счетов для пользователя, вы не хотите, чтобы считанные значения баланса были непоследовательными. Например, если это произошло:
Со значениями баланса B1 = 10 и B2 = 20
- Ваш код читается как B1 = 10.
- Транзакция TA1 запускается на другом клиенте БД
- TA1 записывает от B1 до 20, от B2 до 10
- TA1 фиксирует
- Ваш код читается как B2 = 10
Итак, теперь вы думаете, что B1 равен 10, а B2 равен 10, что может быть отображено пользователю, и это говорит о том, что $ 10 исчезло!
Транзакции для чтения предотвратят это, так как мы будем читать B2 как 20 на шаге 5 (при условии, что DB управления параллельными версиями имеет несколько mysql + innodb).