INSERT INTO
projects(name, start_date, end_date)
VALUES
('AI for Marketing','2019-08-01','2019-12-31'),
('ML for Sales','2019-05-15','2019-11-20');Seklinde query hazirlanip tek seferde execute edilebilinir. Her seferinde execute etmekte performansli sayilamaz.
PHP sorgularınızı hızlandırın.
15
●706
- 19-03-2022, 18:58:29Her seferinde de execute yapilmasinada gerek yok aslinda.
- 19-03-2022, 19:09:4550 tane kolonu 100 bin adet veriyi bu şekilde nasıl yazacaksınız en iyi ihtimalle array_fill kullanılan bir fonksiyonla yazılabilir tabii ama ben dediğim gibi uğraşmadım. Siz yazarsanız her seferinde execute etmeden 50 kolonlu 100 bin datayı kaydedecek fonksiyon seve seve paylaşırımEcancan adlı üyeden alıntı: mesajı görüntüle
- 19-03-2022, 19:25:57Buyrun yazilmisi mevcutblap adlı üyeden alıntı: mesajı görüntüle
https://stackoverflow.com/questions/...n-single-query
Ek olarak tek bir queryde yapilmasi bu islemin daha stabil calismasi demektir. Sizin bu sekilde loop icerisinde execute ettiginiz yontemde sql tarafinda bir sorun olmasi durumunda mevcut islem yarim olarak kalmis olacaktir. 50k eklenebilir ama kalan 50k eklenemeyebilir veya daha koturusu kimisi execute edilir kimisi edilmeyebilir. - 19-03-2022, 19:38:33tek bir döngüyle 10k veriyi basitçe eklemek varken, niçin tek sorgu yazmak uğruna bu kadar ekstra işlem yapıyorsunuz? 50k veri eklemeye çalışırken transaction kullanmıyorsanız pek tabii ki kimisi execute edilir, kimisi edilmez. transaction bunun için var.Ecancan adlı üyeden alıntı: mesajı görüntüle
- 19-03-2022, 20:19:23Performans icin tek bir queryde atiyorum. Ayrica o queryide hazirlamak zor bir islem degil. Bir kere query olusturacak sinifi yazarim ve istedigim yerde tekrar tekrar kullanirim. Hem performansli olur hem basit olur artik .ghergedan adlı üyeden alıntı: mesajı görüntüle
Ayrica best practices olarakta bu oneriliyor zaten.
https://www.cockroachlabs.com/docs/v...existing-table - 19-03-2022, 20:49:24Dediğim şekilde array doldurulacak şekilde yapılmış. Laravel de bu şekilde kullanıyor. Zaten 2022 yılında benim konu açtığım şekilde kod yazmak mı kaldı? Ben dediğim gibi bir arkadaşın öğretim videosunda görmüştüm zaten 1 dakikada düzeltilmişini yazdım. Dümdüz php pdo şeklinde kod yazmak kalmadı. En azından pure php kullanılacaksa oop ve patternler ile yazmalı yazacak kişi yani bana göre işin doğrusu budur. Eğer framework kullanmıyorsa attığınız örnek gibi sorguları bir class içinde fonksiyonlara yazar çağırır. Ben en azından bind edilmesi için yazdım. Yoksa attığınız örnek daha doğru tabii ki. Ben arkadaşlara basit bir dille ifade ettim. Size de basit ve kullanışlı bir şekilde ifade edecek şekilde paylaşırsanız tabii seve seve paylaşırım. Attığınız örnek benim 8 saniyelik işlemi 1 saniyenin biraz altına indirdi. Ancak ben arkadaşlara nasıl kullanacaklarını şu an yazarak anlatmak gereksiz vakit kaybı olarak geliyor. Performans arayan arkadaşlar zaten çözümün mvc mimarisi ve doğru sınıf yapılandırmaları olduğunu zaten anlayacaklardır.Ecancan adlı üyeden alıntı: mesajı görüntüle
- 19-03-2022, 20:57:42Aynen öyle. Benimde amacım zaten mevcut konuyu genişletmek. Forumun amacı bu değil midir? Bir fikir kapısı aralamak. Daha iyi nasıldır araştırmaya sevk etmek. Araştırılanlarıda aktararak faydalı bir konu oluşturmaktır. Zaten bu konuda da eğer kişi araştırmayı önüne gelene göre yapıyor ve ona göre referans alıyorsa yüksek ihtimal sizin ilk çözümünüzü alıp kapatacaktır. Araştırmayı seven kişi için biraz daha işini kolaylaştırmak istedim ve bende dahil olmuş oldum o kadarblap adlı üyeden alıntı: mesajı görüntüle