• 09-12-2022, 03:31:13
    #1
    ŞU KODLAMADA CONCAT YERİNE NE KULLANABİLİRİM 3 ÜNÜ BİRLEŞTİRİP ÇEKMESİ ÇOK UZUN SÜRÜYOR YARDIMCI OLUCAKLARA TEŞEKKÜRLER ŞİMDİDEN

    if (isset($_POST['gonder'])){
     
                                $key = $_POST['key'];
                                if (empty($_POST['key'])){
                                    ?><center><div class="alert alert-danger" role="alert"><strong><i class="fas fa-ban"></i>  Boş Bırakma !</strong> </div></center>
                                    <?php
     
                                } else {
                                    include 'baglan/config.php';
     
                                    $query = $db->query("SELECT * FROM ogrkulup WHERE CONCAT(ADI,' ',SOYADI,' ',GELIL) = '{$key}'")->fetch(PDO::FETCH_ASSOC);
                                 
     
     
                                    if ( $query){
                                        ?><div class="alert alert-success" role="alert"><strong><i class="fas fa-check"></i> Bilgi Bulundu !</strong> </div>
                                        <center><strong style="color:red">Detaylar</strong></center>
                                        <br>
                                        <center><strong>ADI :  <?php echo $query['ADI']; ?></strong> 
                                            <br>
                                            <strong>SOYADI : <?php echo $query['SOYADI']; ?></strong>
                                             
                                            <br></center>
                                            <?php
                                        } else {
                                            ?><div class="alert alert-danger" role="alert"><strong><i class="fas fa-ban"></i> Bilgi Bulunamadı !</strong> </div>
                                            <?php
                                        }
  • 09-12-2022, 03:36:54
    #2
    Anladığım kadarıyla Ad-soyad-key değerlerini sorgulayıp var ise satırı çekiyorsunuz bir satır çekiyorsanız neden ASSOC kullandığınızı anlayamadım OBJ dener misiniz?
  • 09-12-2022, 04:02:40
    #3
    OBJ de hata veriyor hatayı halletsem bile aynı hızda çekiyor veriyi hocam benim aradan concatı çıkarmam lazım sanırım
  • 09-12-2022, 04:33:36
    #4
    ALTER TABLE ogrkulup ADD key_sutunu VARCHAR(255) GENERATED ALWAYS AS (CONCAT(ADI,' ',SOYADI,' ',GELIL) );
    ile virtual bir sütün ekleyin
    daha sonra sorgusunuzu da
    SELECT * FROM ogrkulup WHERE key_sutunu   =  {$key}
    olarak değiştirin
  • 09-12-2022, 04:46:10
    #5
    trgino adlı üyeden alıntı: mesajı görüntüle
    ALTER TABLE ogrkulup ADD key_sutunu VARCHAR(255) GENERATED ALWAYS AS (CONCAT(ADI,' ',SOYADI,' ',GELIL) );
    ile virtual bir sütün ekleyin
    daha sonra sorgusunuzu da
    SELECT * FROM ogrkulup WHERE key_sutunu   =  {$key}
    olarak değiştirin
    teşekkürler hocam ama aynı hız gene
  • 09-12-2022, 04:54:09
    #6
    ogrkulup tablosunda kaç satır veri var
  • 09-12-2022, 05:15:24
    #7
    KyreKiira adlı üyeden alıntı: mesajı görüntüle
    teşekkürler hocam ama aynı hız gene
    mysql de index oluşturabilirsiniz.
    bunun yanı sıra
    php de query den önce $start = microtime(true);
    query satırının hemen sonrasınada echo microtime(true)-$start; ekleyerek query nin php de çalışma hızıyla phpymyadmin den direkt sorgu yazdığınızdaki çalışma hızını karşılaştırmanızda fayda var
    eğer çok fark var ise başka bir şeylere bakmak gerekebilir.
  • 09-12-2022, 05:15:45
    #8
    index eklemeyi deneyin;
    CREATE INDEX ogrkulup_kimlik_index ON ogrkulup (ADI, SOYADI, GELIL);