10 полезни съвета за писане на SQL заявки, IT блог за начинаещи

Днес искам да говоря за тези прости точки, които ще помогнат на начинаещите SQL програмисти по-правилно, замислено и просто да съставят логиката на своите заявки и бързо да овладеят SQL езика.

Подчертавам всички тези точки като„полезни съвети“, които се основават както на личен опит, така и на опита на други по-опитни хора. И днес искам да ги споделя с вас. Имам 10 от тях.

Съвет 1 - Избройте полетата

Когато пишете заявка, избройте полетата. Не поставяйте *, тъй като в бъдеще може да възникнат проблеми, въпреки че на пръв поглед не ги забелязвате, а напротив, смятате, че така е много по-удобно. Може да възникнат следните проблеми: не се използват индекси, появяват се колони с еднакви имена, това се случва, когато комбинирате няколко таблици в заявка, които имат полета с еднакви имена. И в този случай, например, разработчикът на клиентската част, без да подозира, може да покаже грешни данни на потребителя, които са необходими.

Не правете това

По-добре така

Забележка! Ако изобщо не сте запознати с SQL, можете да прочетете статията за основите на оператора SELECT. Освен това, ако работите с езика Transact-SQL, препоръчвам ви да прочетете книгата „The T-SQL Programmer's Way“ – това е книга за основите на този език и е чудесна за начинаещи разработчици.

Съвет 2 – Не пишете сложни многостепенни заявки

Не правете сложни, големи, многостепенни заявки. Просто ще се объркате, тъй като такава заявка е трудна за повторение и като цяло - това се отразява на скоростта на работа. Ако заявката се използва често, тогава преместете най-сложната част във функция или процедура и като цяло не се колебайте да пишете свои собствени функции за всяканужди, разбира се, ако се предполага, че тези функции ще се използват активно във всички видове заявки и в заявката на правилното място, извикайте я. Това значително опростява писането на заявки, в бъдеще няма да се налага да изучавате отново логиката на заявката, например, ако трябва да повторите нещо в нея, а в някои случаи скоростта на заявката ще се увеличи.

Забележка! Ако не знаете как да напишете свои собствени функции, можете да разгледате статията за това как да напишете функция в PL/pgSQL. T-SQL има специална конструкция WITH, за да улесни писането на код на заявка.

Съвет 3 - Не използвайте WHERE функции

Съвет 4 – Избройте колони по време на INSERT

Когато добавяте данни към таблица, точно както при SELECT, избройте полетата на таблицата, например:

Не правете това

По-добре така

Тъй като полетата в таблицата могат да се добавят и следователно могат да възникнат някои трудности, дори ако се погрижите за стойността по подразбиране за новата колона.

Съвет 5 - Използвайте по подразбиране, избягвайте NULL

Този съвет следва от предишния. Опитайте се да зададете стойности по подразбиране, когато създавате таблица, за да се отървете отNULL, защото ако не направите това, тогава могат да възникнат стойности като NULL и трябва да запомните, че NULL не е стойност, а състояние на клетката, т.е. липса на стойност. Защо тази стойност е толкова лоша, но защото когато пишете заявки, ще трябва да запомните, че може да срещнете такива стойности и да ги вземете предвид съответно. Тъй като ако забравите или просто не знаете, че в някаква таблица има NULL стойности, тогава в бъдеще можете да показвате неправилни данни, което не е добре.

Съвет 6- в ORDER BY използвайте имена на колони

При сортиране (ORDER BY) е по-добре да използвате имена на колони, а не техните позиции (номера), тъй като могат да възникнат проблеми. Например, използвахте сортиране по техния номер и изпратихте заявка до разработчика на приложението, след което след известно време стана необходимо да промените тази заявка, като добавите или изтриете някои полета, но забравихте за сортирането и изпратихте заявката отново до разработчика. И сега, когато се извеждат данни, ще се използва грешно сортиране и от страна на потребителя като цяло може да има мнение, че се показват неправилни данни, той ще ви каже за това и няма да разберете, защото все още работи, какво не е наред. И всичко това, защото няма да възникне грешка, за да може да се проследи и всичко е банално и просто, използвахте сортиране по номер на колона.

Не правете това

По-добре така

Съвет 7 - Запазете SQL заявки

Ако напишете някаква еднократна заявка и в бъдеще тя може и никога няма да бъде използвана, запазете тази заявка така или иначе, обикновено в .sql файлове, тъй като мога да кажа от опит, че може да бъде полезна за други задачи или да помогне за решаването им много по-бързо. Ако не запазите, тогава ще трябва да обмислите отново цялата логика, алгоритъма, което, разбира се, влияе върху скоростта на задачата.

Съвет 8 - Не създавайте твърде много курсори

Не създавайте много курсори. Тъй като курсорът е доста ресурсоемка операция за сървъра, така че ако е възможно да се направи без него, тогава е по-добре да не го използвате. Въпреки че има такива задачи, когато курсорът е единственото възможно решение, така че в някои случаи е много полезно.

Съвет 9 - Проверете и тествайте условията на UPDATE и DELETE

Съвет за собствена проверка. Понякога, когато нещо трябва да бъде масово актуализирано (АКТУАЛИЗИРАНЕ), винаги тествайте заявката на тестова база, в противен случай, например, едно неправилно условие може да бъде почти необратимо. Следователно тестовата база винаги трябва да е под ръка.

Съвет 10 – Използвайте описателни имена

Създавайте смислени имена на колони в таблиците и използвайте смислени имена на променливи, този съвет се отнася не само за SQL, но и за програмирането като цяло.

Надявам се, че тези съвети ще ви помогнат да съставите правилно своите заявки и да не стъпите на същия рейк като много други начинаещи програмисти.