Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Ce fel de procedură este?

Dacă aveți o fobie despre procedurile medicale, atunci aceste structuri nu sunt "din acel subiect". Deci nu vă puteți teme. Dar serios, procedura stocată este un lucru convenabil și util pentru "sănătatea" chestiunii DBMS. Ele sunt, de asemenea, numite "funcții memorate MySQL", dar aceasta nu este o definiție exactă. Deși să facem totul în ordine.







Procedurile stocate vă permit să optimizați în mod semnificativ performanța serverului și să-i accelerați activitatea, deoarece codul după prima execuție este stocat în memoria RAM cache. Pentru toate apelurile ulterioare, procedura va fi extrasă din memoria cache și nu va fi trimisă înapoi la execuție.

În MySQL, apelarea unei proceduri stocate înseamnă că cererile introduse în codul său sunt procesate doar pe jumătate. Și apoi, dacă se schimbă valorile parametrilor lor. Dar nu totul este atât de perfect. Descriim mai întâi aspectele pozitive ale utilizării procedurilor:

Încapsularea funcționalității - tot codul este stocat într-un singur loc, ceea ce facilitează accesul la acesta pentru alte aplicații. În acest sens, procedurile stocate sunt similare cu funcțiile software.

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Cadrul YII2. Dezvoltare rapidă cu cadrul PHP modern

Aflați complexitatea dezvoltării web moderne cu ajutorul cadrului YII2

Izolarea accesului la date - toți utilizatorii nu accesează rândurile de tabele, ci doar procedurile stocate. Aceasta, la rândul său, crește nivelul de securitate al tuturor datelor.

Creșteți viteza serverului - prin cache și combinarea cererilor.

În MySQL, procedurile stocate în teorie sunt structuri care sunt legate de mai multe "matematică înaltă" - programare DBMS. Deci noi cu voi (ca și profesioniștii), deși încet, dar cresc. Dar înapoi la proceduri și descrieți partea negativă a utilizării lor:

Încărcarea serverului de baze de date este mărită - majoritatea codului procedurii sunt executate pe partea serverului. Acest DBMS este construit pe modelul "client-server", în care sunt implicate mai multe dispozitive.

Complicarea manipulării datelor - în dezvoltarea aplicațiilor va trebui să se înregistreze o parte a codului și pe partea clientului.

Procesul de transfer al bazelor de date pe alte șine (DBMS) devine din ce în ce mai complicat.

Proceduri în phpMyAdmin

În primul rând, vom examina utilizarea procedurilor stocate în MySQL folosind exemplul phpMyAdmin. Astfel, va fi mai ușor să înțelegem acest tip de structură. Să începem!

Începem programul shell, în dreapta selecționăm o bază de date de testare. Am o astfel de lume de bază. Apoi, în meniul principal din partea de sus, accesați fila "Proceduri". Dați clic pe "Adăugați procedura".

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Deja în această etapă suntem familiarizați cu particularitățile sintaxei de creare a procedurilor memorate MySQL. În câmpul "Definiție" prescriem corpul structurii. Rețineți că interogarea în curs este localizată între cuvintele cheie BEGIN și END:

Această interogare nu efectuează nicio acțiune cu baza de date, ci va afișa doar inscripția. Am indicat acest lucru în câmpul "Acces la date SQL".

Pentru a finaliza prima noastră procedură, faceți clic pe "Ok" de mai jos. Apoi, programul afișează un mesaj "verde" despre executarea cu succes a cererii. Codul său este prezentat mai jos. În MySQL, procedurile și funcțiile stocate sunt create utilizând comanda specială CREATE PROCEDURE. Dar mai mult despre asta mai târziu.

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Acum rulați structura creată pentru execuție. Pentru aceasta, faceți clic pe linkul "Executare" din secțiunea "Proceduri". Dar ce este această rușine! Unde a plecat favoritul nostru "verde"? De ce programul "jură" și "țipă" că îi lipsește memoria dedicată?







Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Acest lucru dovedește încă o dată că mai multe resurse sunt cheltuite în MySQL pentru a efectua declanșatoare și proceduri stocate.

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Cadrul YII2. Dezvoltare rapidă cu cadrul PHP modern

Aflați complexitatea dezvoltării web moderne cu ajutorul cadrului YII2

Accesați fișierul de configurare my.ini și măriți limita membrului RAM instalat pentru fiecare fir la 256 kb. Acum rulați din nou procedura. De data aceasta totul a mers așa cum ar trebui, iar programul a returnat rezultatul fără eroare.

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Rețineți că apelul utilizează comanda CALL cu numele procedurii și parametrii primiți (în paranteze).

Un exemplu mai complex

Însă phpMyAdmin este mai potrivit pentru procedurile rapide. Și pentru a dezvolta o procedură stocată în MySQL cu un număr dinamic de argumente (de exemplu), veți avea nevoie de software mai convenabil. de ce:

phpMyAdmin nu dorește să "înțeleagă" procedurile care nu au fost create printr-un constructor special.

Programul nu execută structurile începute ca root și parola goală, iar în Denver creează un utilizator nou și trece sub el în phpMyAdmin întreaga problemă.

Dacă urmăriți îndeaproape publicațiile mele și faceți toate "dorințele" pe care le prescriu, atunci ar trebui să aveți deja administratorul MySQL. Într-o obligație legată de aceasta, este necesar să descărcați MySQL Query Browser sub acest link. Aceste două programe sunt utilizate cel mai bine împreună: în primul, pentru a crea proceduri, iar în cealaltă pentru a le testa. Să mergem:

Rulați administratorul MySQL.

În partea stângă sus, accesați fila "Catalog".

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Selectați baza de date dorită, iar în meniul superior faceți clic pe "Proceduri stocate" și mai jos pe "Creare proces stocat"

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Pentru a începe procedura, accesați MySQL Query Browser. Mai întâi, introduceți contul și parola, iar în partea stângă în "Object Explorer" găsim dosarul cu baza de date dorită. Restul secvenței este afișat în imaginea următoare.

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Rularea unei proceduri în PHP

Acum, luați în considerare modul în care PHP numește procedura stocată MySQL. Pentru a face acest lucru, trebuie să redimensionăm puțin codul exemplului nostru anterior. Vom adăuga un parametru la ieșirea procedurii și, de asemenea, vom modifica codul solicitării:

Pentru a apela procedura din fișierul PHP și a scoate rezultatul, vom folosi capabilitățile clasei PDOStatement, care a fost creată special pentru lucrul cu baza de date prin SQL

Această clasă este implementată relativ recent și este susținută de PHP, începând cu versiunea 5.1.0. Vă sfătuiesc să utilizați funcția built-in phpversion () înainte de testare.

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Proceduri memorate mysql ca o modalitate de a overclock sub-lent

Cadrul YII2. Dezvoltare rapidă cu cadrul PHP modern

Aflați complexitatea dezvoltării web moderne cu ajutorul cadrului YII2

Cele mai recente știri despre dezvoltarea IT și web pe canalul nostru de telegrame







Articole similare

Trimiteți-le prietenilor: