• 03-02-2022, 12:03:24
    #1
    Merhaba arkadaşlar mysqlde güncelleme yapıyorum işlem biraz uzun sürüyor bu süreci yüzde şukadar kaldı gibi bir şekilde görme imkanı varmı acaba? varsa nasıl yapılabilir? yada ne diyerek araştırabilirim?
  • 03-02-2022, 13:49:02
    #2
    Böyle bir şey daha önce hiç görmedim, varsa bile göstermeliktir muhtemelen. İşlemin ne kadar süreceği hiç belli olmaz.

    O zaman siz de göstermelik olarak gösterebilirsiniz.
    İlk olarak sorgunuzun ne kadar zaman aldığını öğrenin, sonra yaklaşık bir 20-30 sefer çalıştırıp bu sürenin ortalamasını alın, elinizde yaklaşık olarak bir süre olacaktır. İşlem esnasında da bu süreyi baz alarak bir progress bar yapabilirsiniz. Süreyi almak için

    $db->query("SET SESSION profiling = 1");
    $db->query("senin sql sorgun");
    $profile = $db->query("SHOW PROFILES")->fetchAll(2);
    print_r($profile);
    Buradaki Duration son sql sorgusunda geçen süreyi verecektir.

    Diyelim ki 15 saniye çıktı ortalama;
    Örnek
  • 03-02-2022, 17:56:36
    #3
    İşlem süresine göre değil işlem sayısına göre gösterin. Yüzdelik bar yaparken daha önce hiç işlem süresini tahmin edip hesaplayan görmedim, varsa da bilmiyorum. Örnek şu şekilde;

    Yapacağınız işlem sayısı 1500 olsun. Bu sizin için %100 demek. Progress bar dolduracaksanız 0 ile 100 arası değer buna göre alacaksınız.

    Mesela 1500 adet bittiğinde 100 ise, demekki 750 tane işleminiz biterse %50 bitmiş demektir. Buna göre göstermeniz gerekiyor.