• 01-09-2022, 13:41:15
    #10
    Bu belirttiğim işlemleri php kullarak yapmak yerine bash script yazarak direkt mysql e insert yapabilirsiniz.

    Örneğin 1000 er adet insert yapacaksınız.
    Multiple insert komutunu direkt mysql e gönderebilirsiniz.

    Dahada hızlanacaktır.

    Veya 1000 er adet sql dosyası oluşturan mysql dump import eden bash scripti vb.

    Yöntemler çok sadece sizin için en iyisi nedir siz tercih etmelisiniz.

    Stackoverflow da bir çok çözüm bulunmakta.
  • 04-09-2022, 00:41:26
    #11
    uniq index metodunda iki sütünü birden uniq index kontrolu yaptırabilirsiniz.
    yani sadece mail sütünün veya sadece pass sütününü tek başına uniq index yapmak yerine mail+pass olarak da uniq index oluşturabilirsiniz.
    aynı şekilde daha önce başka bir arkadaşın dediğin gibi ek bir hash sütünü ile uniq kontrolu da olabilir. seçim size kalmış
    insert ignore into tablo (mail,pass) values ('mail@example.com','1');
    veya
    insert ignore into tablo (mail,pass,hash) values ('mail@example.com','1','uniqhash');

    on duplicate key yöntemi ile yaparsanız daha yavaş olacaktır.
  • 04-09-2022, 00:58:44
    #12
    Mubido & FatBotter
    Soru güzel olunca cevaplar da güzel oluyor. Konuyu takipteyim.
  • 16-02-2023, 08:08:14
    #13
    trgino adlı üyeden alıntı: mesajı görüntüle
    uniq index metodunda iki sütünü birden uniq index kontrolu yaptırabilirsiniz.
    yani sadece mail sütünün veya sadece pass sütününü tek başına uniq index yapmak yerine mail+pass olarak da uniq index oluşturabilirsiniz.
    aynı şekilde daha önce başka bir arkadaşın dediğin gibi ek bir hash sütünü ile uniq kontrolu da olabilir. seçim size kalmış
    insert ignore into tablo (mail,pass) values ('mail@example.com','1');
    veya
    insert ignore into tablo (mail,pass,hash) values ('mail@example.com','1','uniqhash');

    on duplicate key yöntemi ile yaparsanız daha yavaş olacaktır.
    MCERAN adlı üyeden alıntı: mesajı görüntüle
    Mail sütunu için, tablonuzda unique index oluşturun.
    Insert işleminde aynı kayıt varsa duplicate entry mesajı döndürür ve eklenmesini engeller.
    Mesajı verirse işlem durur bu yüzden ignore parametresini insert sorgunuza ekleyin böylece bu içerik var dese bile diğer insert işlemine devam eder

    Unique index oluşturma
    https://www.mysqltutorial.org/mysql-unique/
    Insert ignore kullanım örneği
    https://www.mysqltutorial.org/mysql-insert-ignore/

    Ayrıca insert işlemini tek tek değil multiple insert olarak yaparsanız dahada hızlandıracaksınız.
    https://www.sqlservertutorial.net/sq...multiple-rows/

    Milyarlık kayıttan bahsettiniz index için ram ihtiyacınız olacaktır

    Ayrıca db partition ilede veritabanını bölümlendirerek daha hızlı insert işlemleri yapabilirsiniz.

    Günün sonunda tüm bunların yanında cpu ve ram donanımınızda hız konusunda etkendir.

    Yönlendirmeleriniz için tekrar Teşekkür ederim hocam, örneklerinizden yola çıkarak ve Ram takviyesi, C# ile bir program yazarak sorunumu çözdüm.