Pagal
Mėnuo: liepos 2020

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