Початківець боїться зламати базу даних. Досвідчений розробник - ні, і саме в цьому часто криється проблема. Впевненість, набута роками, дає відчуття, що певні речі можна пропустити - і це спрацьовує рівно до того моменту, коли перестає.
Індекси як відповідь на все
Коли запит гальмує, перший рефлекс - додати індекс. Це спрацьовує досить часто, щоб закріпитися як звичка. Але надмірна індексація уповільнює операції запису, збільшує розмір бази і ускладнює планувальник запитів. Новачок додає індекс тому, що не знає іншого виходу. Досвідчений - тому що знає, що це працює, і не зупиняється, щоб перевірити, чи це оптимально саме тут.
Міграції без відкату
Схема змінюється, міграція написана, деплой пройшов. А скрипт відкату - ні. Початківець забуває про це через незнання. Старший розробник - через те, що зазвичай все добре. Саме ця логіка перетворює звичайний інцидент на кількагодинний простій.
Що варто змінити
- Перевіряти план виконання запиту до і після додавання індексу
- Писати rollback-міграцію одночасно з forward-міграцією
- Не покладатися на пам'ять - документувати рішення щодо схеми
Досвід корисний, але він же формує сліпі зони. Найнебезпечніші помилки - не ті, про які ви не знаєте, а ті, які ви вже давно перестали перевіряти.