Mysql İşlem Devam Ederken Yüzde Olarak Görme
2
●102
- 03-02-2022, 13:49:02Bö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İş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.