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
php ve mysql alan limitleri
11
●942
- 18-07-2010, 01:44:29Bknz: 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:20O 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:27Bu 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:05akadal34 adlı üyeden alıntı: mesajı görüntüle
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:04verileri 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:00Merhaba,
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:18Hepsini 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:53tablo :
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.