Наскільки мені відомо, єдина різниця - це масштаби наслідків, як сказав Строммі. НОЛОК натяк на стіл, і ЧИТАЙТЕ НЕЗАБАВЛЕНО на сесії.
Щодо проблем, які можуть виникнути, то все полягає в послідовності. Якщо вам все одно, то майте на увазі, що ви можете отримати те, що називається брудним зчитуванням, яке може вплинути на інші дані, що маніпулюють неправильною інформацією.
Я особисто не думаю, що з цим не бачив жодних проблем, але це може бути більше через те, як я використовую нолок. Потрібно знати, що є сценарії, коли це буде добре використовувати. Сценарії, де ви в основному додаєте нові дані до таблиці, але є інший процес, який входить позаду, щоб перевірити сценарій даних. Це, ймовірно, буде добре, оскільки основний потік не включає повернення та оновлення рядків під час читання.
Також я вважаю, що в ці дні вам слід заглянути в багатоверсійний контроль сумісності. Я вважаю, що вони додали його в 2005 році, і це допомагає зупинити письменників від блокування читачів, надаючи читачам знімок бази даних. Я включу посилання та залишу подальше дослідження читачеві:
MVCC
Рівні ізоляції бази даних
REPEATABLE READ
замість того,SERIALIZABLE
якщо вам не байдуже дані про фантоми.SERIALIZABLE
НАДАЛЬНО обмежуючий характер і майже ніколи не повинен використовуватися (за винятком, наприклад, у деяких критичних фінансових додатках).