У овом чланку ћете научити све што треба да знате да бисте оптимизовали упите у СУБ; да бисте значајно побољшали време одзива ових технолошких система.
Главни ДБМС данас.
Оптимизација упита, шта су ДБМС?
Пре него што почнемо да говоримо о неким саветима и препорукама за побољшање оптимизације упита ваше веб странице или апликација, важно је да знате мало о СУБД-овима који су тренутно доступни.
СГБД, чија скраћеница означава систем за управљање базама података; Они су скуп програма који омогућавају кориснику да манипулише одређеним информацијама у сваком смислу, смештени у бази података; као што је издвајање, складиштење и / или мењање ових.
Поред тога, они помажу у обезбеђивању све неопходне безбедности за ову базу података, управљају и контролишу ток корисничког уноса и излаза, па чак и штите кориснике у случају да су информације оштећене или изгубљене, омогућавајући њихов опоравак. Важно је напоменути да такође играју кључну улогу у оптимизацији упита.
Другим речима, да би апликација, рачунар или веб локација исправно функционисали, неопходно је присуство система базе података, иначе то уопште не би било корисно.
Међу најзначајнијим примерима СУБП-ова који данас постоје, имамо: Microsoft SQL Server ; CouchDB (специфично оријентисан ка страни докумената); MongoDB (оријентисан на исти начин као и претходни); и најпознатији и најкоришћенији од њих, MySQL , релациони, отвореног кода, који користе платформе као што је WordPress.
Ако желите да сазнате више о базама података, а посебно о MySQL-у , препоручујемо вам следећи чланак, где ћете сазнати више о овом широко коришћеном софтверу: Типови података у MySQL-у.
Шта је оптимизација упита?
У основи, то је значајно и оптимално побољшање времена одзива ДБМС -а; на такав начин да својим корисницима могу пружити тражене информације у рекордном року. То се дешава у неким случајевима, где су одређене апликације или друге обично толико сложене да је, приликом консултовања, време за добијање одговора прилично дуго; У многим случајевима овај одговор обично није „најоптималнији“, односно најбољи могући.
Постоје одређени оптимизатори засновани на трошковима, а ови заузврат, на основу одређених планова; да ће они бити они који ће, као резултат анализе, моћи да дају најбоље путеве за оптимизацију упита; узимајући, наравно, те планове са најнижим могућим трошковима.
Важна ствар је да корисници не могу директно приступити оптимизатору; Прво морају проћи кроз процес анализе, а након овог корака корисник већ може имати приступ оптимизацији
Како раде?
Већина оптимизације упита се имплементира коришћењем стабла чворова за графичко представљање. Сваки чвор у овом стаблу представља план, а ови планови, капсулирани унутар тих чворова, су једноставно операције.
Могуће је да сваки чвор има друге подређене чворове, са плановима; али да ће на исти начин радити на истом плану као и њихов родитељски чвор. У случају листа овог "стабла чворова", они представљају резултате наведених операција које су извршили сви присутни чворови.
Важно је напоменути да су у системима за управљање базама података чворови JOIN-ови, који вам омогућавају да комбинујете записе из табела (било више табела или једне табеле) унутар базе података. У ствари, реч „ Join “, преведена са енглеског, значи „ујединити“.
Узимајући у обзир оно што је написано у претходном пасусу, један од најважнијих и најутицајнијих фактора у оптимизацији упита је редослед којим се обрађују табеле са подацима, односно редослед којим се извршавају JOIN-ови. Већа оптимизација се може постићи обрадом мањих табела прво уместо већих; обрнутим редоследом то би могло значајно повећати потребно време.
Многи оптимизатори користе специфичан алгоритам имплементиран од стране пројекта базе података System R , који прати низ фаза анализе и претраживања које на крају дају најбоље могуће резултате. Ови резултати се сматрају бољим од других ако прате исти редослед, јер би то могло додатно смањити време одзива.
Шта су Туплес?
Тупле је један од најважнијих у бази података; будући да објекти који садрже информације наведених података (у случају математичке дефиниције). Преласком на рачунарско поље, не разликује се много од претходне дефиниције, осим што у овом случају одговара реду, одређене табеле; Потоњи су, дакле, они који садрже сачуване податке.
Као и у области математике, подаци ускладиштени у овим објектима су неуредни, будући да су више од листе, они су скуп података; и нема дуплицирања и било које врсте репликације, будући да би математички то било немогуће.
Процеси оптимизације
Оптимизација упита прати низ корака, односно процес. У овом случају, једноставно ћемо их навести, а у следећем одељку ћемо понудити неколико савета које треба имати на уму како бисте побољшали перформансе.
Први корак је интерна репрезентација упита , која мора имати низ карактеристика (поменутих у следећем одељку) и система да би могла да представља логичке изразе. Други корак, конверзија у канонски облик, подразумева проналажење еквивалентног израза (изведеног из оригинала) који ће постати канонски облик упита и побољшати његове перформансе.
Трећи процес, Избор процедура ниског нивоа, укључује различите тачке (као што су индекси и алтернативни путеви) за консултације. Коначно, ту је генерисање и избор планова консултација.
Неколико савета за оптимизацију упита
У овом одељку ћемо навести четири главна процеса оптимизације, али пре свега; неке аспекте које треба узети у обзир, како би се побољшало време одговора, што је главна поента овог поста. Нешто што је веома важно узети у обзир је постојање плана (који смо већ раније именовали), јер ће се на тај начин процес увелико убрзати.
Још једна релевантна ствар је избор стратегије, како бисте могли да спроведете читав процес консултација; Ово ће, заузврат, бити подељено на два, што ће бити: избор алгоритма, који је задужен за извршавање операције; и изабрати индексе, детаљне и конкретне, јер би се тиме избегли проблеми и одлагања.
Што се тиче плана који треба спровести, он се састоји од две фазе или фазе које треба узети у обзир; блиско повезан са оптимизацијом. Прва фаза се састоји од: генерисања логичких израза, који су повезани са главним изразом; Са "изразима" се позивамо на дате радње за претрагу или добијање података, па се остали изрази морају повезати с главним.
Друга фаза, с обзиром да ће се на основу прве постићи одређени резултати; У овој новој фази ови резултати морају бити забиљежени, што ће бити нови логички изрази; то ће послужити као алтернатива за касније генерисање планова евалуације, па ће бити веома важно.
Наведено ће значајно побољшати време одговора на упите. Међутим, можете имати на уму следеће тачке, ради боље ефикасности и ефективности у испитивању података: будите јасни око добре полазне тачке за почетак са следећим фазама; нуде одређени степен слободе, што је довољно, тако да се могу даље оптимизовати упит.
У следећем видеу можете сазнати више о оптимизацији упита на визуелан начин, што ће вам помоћи да боље разумете све што је везано за овај аспект рачунарства. Објашњавање у писаној форми је прилично компликовано.