Pagal
Kategorija: Duomenų Bazių Veikimas

Duomenų bazių veikimo kategorijoja yra ta vieta, kurioje galite pasinerti į keistą ir įdomų duomenų bazių elgesį.

MySQL Užklausų Efektyvumo Optimizavimas Naudojant DESCRIBE ir EXPLAIN

MySQL Užklausų Efektyvumo Optimizavimas Naudojant DESCRIBE ir EXPLAIN

DESCRIBE ir EXPLAIN užklausos yra vieni labiausiai paplitusių MySQL našumo problemų sprendimo būdų. Jei paklaustumėte žmonių kaip optimizuoti Jūsų SQL užklausą, galite būti beveik garantuoti, kad šios užklausos bus paminimos ne vieną ir ne du kartus. Jas patyrinėsime šiame straipsnyje. Supraskime DESCRIBE DESCRIBE užklausa naudojama tada, kai atsiranda poreikis sužinoti informaciją apie lentelės struktūrą. DESCRIBE užklausos rezultatai atrodo šitaip: Štai ką reiškia šie rezultatai: Field apibūdina stulpelio pavadinimą; Type apibūdina stulpelio duomenų tipą; Null nurodo ar stulpelyje gali būti NULL…

Daugiau Daugiau

InnoDB ir MyISAM – Kurį Turėtumėte Pasirinkti?

InnoDB ir MyISAM – Kurį Turėtumėte Pasirinkti?

InnoDB ir MyISAM yra vieni populiariausių MySQL variklių. Kiekvienas iš jų turi savo privalumų ir trūkumų – pamėginsime juos peržvelgti. Trumpai apie MyISAM MyISAM buvo MySQL variklis, kuris buvo naudojamas iki MySQL 5.5 versijos, kuri buvo išleista 2009 m. gruodžio mėnesį. MyISAM yra pagrįsta senu ISAM saugojimo varikliu, kuris buvo naudojamas iki MySQL 3.23 – nuo šios MySQL versijos ISAM pakeitė MyISAM. MyISAM variklis buvo išleistas ankščiau nei InnoDB. MyISAM Savybės MyISAM variklio funkcijos yra šios: MyISAM palaiko užrakinimą lentelės…

Daugiau Daugiau

MySQL Aklavietės 101

MySQL Aklavietės 101

Kartais dirbdami su MySQL galite pamatyti šią keistoką klaidą: ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction Ši klaida praneša apie aklavietę – tai mes bandysime aptarti šiame įraše. Kas yra Aklavietė? Aklavietė atsiranda tada, kai nei viena iš skirtingų MySQL užklausų negali įvykti, nes abi iš jų turi po užraktą, reikalingą kitai užklausai. Šis paveiksliukas iliustruoja aklavietę: Verta paminėti, kad aklavietės nereikėtų painioti su užraktu – įrašai yra užrakinami tada, kai išteklius bando pasiekti…

Daugiau Daugiau

MySQL Lėtų Užklausų Identifikavimas: Lėtų Užklausų Įrašų Pagrindai

MySQL Lėtų Užklausų Identifikavimas: Lėtų Užklausų Įrašų Pagrindai

Atsiradus MySQL veikimo problemoms, vienas iš pagrindinių triktis šalinančių veiksmų yra nustatyti ilgai veikiančias užklausas ir jas optimizuoti. Apžvelgsime MySQL funkciją, padedančią nustatyti ilgą laiką veikiančias užklausas – MySQL lėtų užklausų įrašus („slow query log“). Kas Yra Lėtų Užklausų Įrašai? MySQL lėtų užklausų įrašai susideda iš SQL užklausų, kurioms vykdyti reikia daugiau laiko nei nurodyta long_query_time kintamajame. Šio kintamojo minimalios ir numatytosios reikšmės yra atitinkamai 0 ir 10. Jei užklausos vykdymas užtrunka ilgiau nei nustatyta, serveris padidina Slow_queries kintamojo reikšmę…

Daugiau Daugiau

Suprasti MySQL: Indeksų Galia

Suprasti MySQL: Indeksų Galia

Kai kalbame apie užklausų optimizavimą, indeksavimas yra viena iš pirmų temų, kuri yra paliečiama. Aptarkime indeksų rūšis, jų svarbą, jų pranašumus ir trūkumus. Nors viename įraše visko apie įrašus beveik neįmanoma aprėpti (apie indeksus galima parašyti knygą), pamėginsime įsigilinti ir išsiaiškinti kelių rūšių indeksų tipus, taip pat aptarsime kur jie gali būti naudojami. Kas yra Indeksai? Indeksai (taip pat vadinami raktais) yra duomenų struktūros, kurios pagerina užklausų greitį lentelėje. Yra keli indeksų tipai: INDEX – indekso rūšis kuriai nebūtinos unikalios…

Daugiau Daugiau

Lėtos SQL Užklausos? (Kol kas) nekaltinkite MySQL

Lėtos SQL Užklausos? (Kol kas) nekaltinkite MySQL

Lėtos SQL užklausos yra vienas iš pagrindinių pagalių, kišamų į MySQL ratus. Kodėl užklausos lėtos? Kas daro SQL užklausas lėtomis? Kaip padaryti užklausas greitesnėmis? Šiame įraše panagrinėsime kelis būdus, kurie gali nukreipti programuotojus tinkama linkme – apžvelgsime visų keturių CRUD operacijų – kūrimo (Create), skaitymo (Read), atnaujinimų (Update) ir naikinimo (Delete) optimizavimą. Supraskite su Kuo Dirbate Kalbant apie MySQL, programuotojai turi kelis pasirinkimus, susijusius su šia RDBVS. Jie gali pasirinkti variklius naudojamus duomenims saugoti. Teisingas variklio pasirinkimas yra tiesiog būtinas…

Daugiau Daugiau

MySQL ir Dideli Duomenys – Misija Įmanoma?

MySQL ir Dideli Duomenys – Misija Įmanoma?

MySQL yra plačiai naudojama atvirojo kodo reliacinių duomenų bazių valdymo sistema. Nors ši RDBVS yra plačiai naudojama, tam tikrais aspektais ji dažnai suprantama neteisingai. Vienas iš tų aspektų yra dideli duomenys – ar reikėtų naudoti didelių duomenų aplikacijas MySQL infrastruktūroje? Galbūt turėtumėte naudoti MongoDB? Gal reikėtų peržvelgti neo4j ar net AWS Redshift? Pabandysime į tai pažvelgti išsamiau. Kas yra MySQL ir Dideli Duomenys? Prieš pradėdami gilintis į MySQL ir didelius duomenis, turbūt turėtume išsiaiškinti, kas yra MySQL ir kaip tai…

Daugiau Daugiau