⊗ppSpOtSQ 80 of 83 menu

PHP-dä SQL soraglaryny ulanmagy optimizasiýa etmek

Bazadaky maglumatlara SQL soraglaryny ýerine ýetirmek örän haýal amaldyr. Şonuň üçin bazadaky soraglaryň sanyny iň aza çenli azaltmaga synanyşmaly.

Iň köp duş gelýän ýalňyşlyk, aýlaw içinde köplenç SQL soraglaryny ýerine ýetirmekdir, şonda-da, islegi bir buýruk bilen ýerine ýetirmäge mümkinçilik berýän alternatiw soraglar bar.

Mysal üsti bilen seredeliň.

Bazadaky maglumatlarda ýazgylaryň id sanawymyz bar bolsun we şeýle id bilen ýazgylary pozmaly bolýarys.

Uzak oýlanmasak, aşakdaky "ajayyp" gurluşy ýazyp bileris:

<?php $ids = [1, 2, 3, 4, 5]; // pozulmaly sanaw foreach ($ids as $id) { mysqli_query($link, "DELETE FROM users WHERE id=$id"); } ?>

Bu kodyň meselesi şonda, aýlaw içinde köplenç soraglar ýerine ýetirilýär. Gözüňiziň öňüne getiriň, sanawda 100 element bolsa - bazada 100 sorag ýerine ýetiriler!

Beýan edilen meseleň aýratyn kepilligi şonda, sahypa işläp düzülende maglumatlar bazasy kiçi we soraglar örän çalt ýerine ýetirilýär. Emma, sahypanyň hostingde işlemegi bilen bazada maglumatlar köpeler, soraglar haýal- haýal ýerine ýetiriler, we şonda ýetip biler, aýlaw içinde ýüzlerçe soragy ýerine ýetirmegi sebäpli sahypa bir minutdan köp wagt ýüklenip başlar!

Biraz güýç sarp edip, diňe bir sorag ýerine ýetiriler ýaly etmek mümkin, şeýle:

<?php $ids = [1, 2, 3, 4, 5]; $str = implode(',', $ids); // '1,2,3,4,5' setirini alarys mysqli_query($link, "DELETE FROM users WHERE id IN ($str)"); ?>

Aşakdaky kody optimizasiýa ediň:

<?php $arr = [1, 2, 2, 4, 5]; $res = []; for ($i = 1; $i < count($arr); $i++) { $note = mysqli_query($link, "SELECT * FROM users WHERE id=$id"); for ($data = []; $row = mysqli_fetch_assoc($note); $data[] = $row); $res[] = $data; } var_dump($res); ?>
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et