• 18-07-2010, 00:27:10
    #1
    Merhaba,
    Bir proje için php ve mysql tabanlı bir yazılım geliştirmeyi düşünüyoruz.
    Ancak girilmesi gereken veri miktarı 900 alan civarında ve %95'i integer değeler.
    Bunları 1 kerede post etmeyi düşünmüyoruz.
    Ancak daha önce hiç bu kadar büyük datalar ile çalışmadık.
    Mysqlin desteklediği alan sayısı hakkında bilgisi olan yada bu büyüklükte datalar ile çalışanlar tecrübelerini paylaşırlarsa sevinirim.
    İyi Çalışmalar
  • 18-07-2010, 01:44:29
    #2
    Bknz: http://dev.mysql.com/doc/refman/5.0/...unt-limit.html
    Yanlış anlamadıysam limit 85

    Her bir veriyi alanlara girmektense satırlar halinde eklemeniz daha iyi olacaktır.
  • 18-07-2010, 02:19:20
    #3
    O yazıyı okumuştum. Ancak orda belirtilen char(255) karakter için geçerli.
    Max ile ilgili bir veri göremedim.
  • 18-07-2010, 09:15:27
    #4
    Bu bahsettiğiniz 900 kadar veriyi bir şekilde gruplayıp ayrı tablolar oluştursanız ve primary key ile bağlasanız birbirine.
    Bu durumda ortaya ufak ufak bir çok insert (ya da update) çıkar. Bunda da sorun yaşamazsınız.
  • 18-07-2010, 13:12:05
    #5
    akadal34 adlı üyeden alıntı: mesajı görüntüle
    Bu bahsettiğiniz 900 kadar veriyi bir şekilde gruplayıp ayrı tablolar oluştursanız ve primary key ile bağlasanız birbirine.
    Bu durumda ortaya ufak ufak bir çok insert (ya da update) çıkar. Bunda da sorun yaşamazsınız.
    Merhaba,
    Insertler update şeklinde 1 kerede 10-20 alan olucak şekilde yapılacak o konuda sorun yok.
    Ama veri çekerken yada tek bir sayfada güncellerken sorun yaşar mıyım?
    Yada mysql ile ilgili limitlere takılır mıyım bilmiyorum
  • 18-07-2010, 23:43:04
    #6
    verileri kategorilendirip ayrı tablolarda tuttuktan sonra sayfa başında tüm tabloları ayrı ayrı sorgular ve kategorilendiği için düşündüğünüz bir değişkene dizi olarak atarsınız. Benim böyle bir çalışmam vardı bu şekilde çıktım işin içinden.
  • 19-07-2010, 21:20:00
    #7
    Merhaba,
    Verdiğiniz bilgiler için teşekkürler. Sanırım demek istediğiniz;

    Tablo1
    id|ortakid|degisken1|degisken2...
    Tablo2
    id|ortakid|degisken10|degisken11...
    Tablo3
    id|ortakid|degisken20|degisken21...
    .
    .
    .
    Tablo20
    id|ortakid|degisken400|degisken401...

    gibi bir tablo yapısı?
    Veriyi çekerken de her tabloya bağlantı yapıp ortak id yi for ile döndürmek?
  • 19-07-2010, 22:34:18
    #8
    Hepsini tek tabloda tanımlamak yerine, parçalara bölmek çok daha sağlıklı olacaktır. Örneklendirecek olursak :

    Üyeler Tablosu :
    --------------------------------
    uye_id | mail | password | sehir_id | uyelik_tipi

    Şehirler Tablosu :
    ---------------------------------
    sehir_id | sehir_adi

    Üyelik Tipleri Tablosu :
    --------------------------------
    tip_id | tip_adi

    Böyle bir yapıda üyeler tablosundaki sehir_id alanında, sehirler tablosunda bulunan kaydın id numarasını tutarız. uyelik_tipi içinde aynı şekilde.

    Bunları sorgu ile çekerken join işlemi yapabiliriz.

    SELECT
    uyeler.id, uyeler.mail, sehirler.sehir_ad, tipler.tip_ad
    FROM
    uyeler
    INNER JOIN
    sehirler
    ON
    uyeler.sehir_id = sehirler.sehir_id
    INNER JOIN
    tipler
    ON
    uyeler.uyelik_tipi = tipler.tip_id
  • 20-07-2010, 00:06:53
    #9
    tablo :
    id - isim - alanlar

    alanlar'ı long text yaparsan bilgileride
    <alanadi1:değeri><alanadi2:değere>...<alanadi900:değer900>
    şeklinde girdirebilirsin. verileri çekerken preg_match_all kullanıp alanlar sütununu parçalatıp değerleri alabilirsin. farklı bi çözüm yolu ama kullanımı biraz karışık olur. misal her hangi bir alana göre sıralama yaptıramazsın. ama tüm alanlarda sıralamalar olmıyacaksa sıralamaların yapılacağı alanlarıda normal olarak sütunlarda girdirirsen sıkıntı olmaz sanırım.