Елена Клисаровска е нашиот нов инструктор на Академијата за Full-Stack програмирање, а воедно и PHP Developer во компанијата BtoBet. Покрај тоа што работи во ИТ компанија, останатите активности ѝ се поврзани со програмирање. Од алумни студент на Brainster, сега е дел од инструкторскиот тим, а исто така работи и на неколку приватни проекти и веб-страници за кои во приватниот живот има пасија.
Прочитајте што Елена Клисаровска има да сподели на тема Датабази за почетници
Што е SQL, а што MySQL?
За да можеме да ги дефинираме термините SQL и MySQL, треба да сме запознаени со терминот датабаза. Генерално, датабаза е место каде што некои податоци се чуваат. Во процесот на изработка на веб апликации или веб страници, датабазата претставува место каде се чуваат сите информации од корисниците и нивните лозинки, до текстови на блог, патеки до слики во галерија, наслови на постови. Скоро целата содржина на веб страницата се чува во датабаза и користејќи структуриран јазик за повикување на тие информации, ние сме во можност да побараме од датабазата токму тоа што ни е потребно и да го прикажеме на веб страницата.
Датабазата содржи табели, колони и редови, а сето тоа ни овозможува да ги организираме информациите и меѓусебно да ги поврземе на начин кој нам ни одговара. Замислете дека имаме табела корисници каде има три колони: реден број, корисничко име и лозинка, и каде секој ред припаѓа на некој корисник.
На веб страницата имаме форма за логирање каде корисникот внесува корисничко име и лозинка и кога ќе го притисне копчето за логирање со помош на SQL, кој е структуриран јазик за комуникација со датабази, проверуваме дали во нашата табела на корисници има такво корисничко име и дали му одговара соодветно внесената лозинка.
SQL е стандардниот јазик со кој комуницираме со MySQL што од друга страна пак е систем за менаџирање со датабази кој го разбира SQL јазикот. Останати системи за менаџирање на датабази кои работат со SQL се: MS Access, Oracle, Sybase, Informix, Postgres и SQL Server. Системот кој ќе го користите е лична или преференца на работодавачот.
На кој начин се користи SQL?
Датабазата сама по себе е колекција на табели со податоци и истата не комуницира со SQL јазикот. Системот за менаџирање на датабази како MySQL е оној кој го интерпретира јазикот и ги извршува барањата пристигнати до него.
SQL е составен од команди со кои се составуваат така-наречени „квериња“ или барања. како CREATE, SELECT, INSERT, UPDATE, DELETE и DROP. На пример “INSERT INTO…” за да внесеме нешто во некоја табела, “DELETE FROM..” за да избришеме, “SELECT * FROM…” за да побиеме информација зачувана во некоја табела, итн. SQL е едноставен за учење и користење, но разликата помеѓу еден код и друг ќе направи колку е брзината на извршување на тоа барање и колку оптеретување ќе нанесе на системот. Она што треба да се научи е како да се оптимизира барањето до датабаза што понатака ќе влијае на брзината на самата веб страница.
Како до оптимизација на SQL „квери“ или побрз одговор на барањето до датабаза?
До базата пристигнуваат барања за информации, и кога ќе се соберат сите барања во одреден момент тие можат значително да влијаат на брзината на веб апликацијата или веб страницата.
Затоа, важно е да може да се процени како најдобро да се оптимизира барањето. Во тоа ќе ви помогнат некои од следниве совети или „tips and tricks“:
- Секогаш кога не е неопходно користете ги имињата на колоните од табелата наместо да ги пребарувате и повлечете сите. SELECT FirstName, LastName, Address, City, State, ZiP FROM Customers… е поефикасно од SELECT *FROM Customers…;
- Избегнувајте да користите SELECT DISTINCT бидејќи работи на принцип на групирање на резултати и издвојување на уникатни, но ова бара голема процесирачка моќ од една страна, а од друга, не се мали шансите да добиете погрешни резултати бидејќи групирањето се врши само по оние колони наведени во SELECT. Наместо тоа, користете SELECT и наведете поголем број на колони и со самото тоа ќе добиете уникатни резултати;
- Секогаш корстете WHERE наместо HAVING доколку сакате да филтрирате резултати бидејќи HAVING најпрво ќе ги повлече сите резултати, па ќе го бара условот, а WHERE ќе го прескокне чекорот на повлекување на сите резултати;
- Доколку не сте сигурни, имајте навика да го проверувате вашето барање со додавање на EXPALIN на почетокот на барањето. Така ќе добиете детален план за извршување на истото.
Доколку сакате да навлезете подлабоко и да научите повеќе за оптимизација, истражете го сами терминот „anti-patterns“ и видете како тоа може да ги подобри перформансите на вашата веб страница.
Уписите за следната група на Академијата за Full-Stack програмирање се во тек! Интересот е преголем и бројот на места – ограничен, затоа резервирај го твоето навреме!
Закажи средба со нашиот student success manager за повеќе насоки и детали за програмата!