ОБЯСНЯВАНЕ работи, ако използвате MySQL 5.6 или по-нова версия.
explain update whatever;
Ако заявката е наред, тя показва плана за изпълнение. В противен случай връща синтактична грешка.
Ако използвате по-малка версия на MySQL, виждам няколко опции:
- Препоръчителната опция :Подгответе тестова база данни, която поне по структура отразява вашата производствена база данни . В идеалния случай той трябва да бъде попълнен с тестови данни, за да се уверите, че заявката е не само синтактично правилна; но че тоработи както се очаква .
- Изпълнете заявката в обхвата на ТРАНЗАКЦИЯ който незабавно се връща назад.
- Изпълнете версия на заявката, която е леко променена, за да съответства НЯМА РЕДОВЕ.
Например:
update table set col1 = @val1 where col2 = @val2;
Става:
update table set col1 = @val1 where (col2 = @val2) and 1=0;
Така че, ако използвате 5.6 или по-нова версия, EXPLAIN
трикът е чист. Ако не, опции 2 и 3 от списъка също са чисти трикове. Но по принцип трябва да удряте разработка сървър с вашия в процес на разработка все пак запитвания.