Doğru Cevap
-
İyi bir indexleme yaparsan vede tablolara parçalarsan çok fazla performans sorunu çekeceğini zannetmem. Eğer çok fazla birbirinden farklı değer giriyorsan bunları tablolara veya sütunlara ayırman çok zor olur. Ayırmak yerine serialize fonksiyonu ile array yapısındaki bu verileri database inde bir sütunda tutabilirsin. Aynı şekilde unserialize ile açıp rahatlıkla kullanabilirsin.
25mb mysql limiti hangi çağdan kalma hosting firması veriyor sana :D. Hosting aldığın firmaya söyle arttırsınlar eğer arttırmazlarsa kendine başka firma bul 25mb çok komik çünkü.
Eğer bunları yapamıyorsan. Konum bilgilerini sqlite ile .db dosyasında tutabilirsin. Sqlite okuma performansı oldukça iyidir. Konum bilgilerini güncellemeyeğin için yazma performansı ile işin yok.
Öncelikle bu tip aramalarda arka planda çalışan kod kadar kullanıcılarından aldığın verilerde önemlidir. List menuler ile tür (arsa/konut vs), il, ilçe vs gerekli bilgileri checkbox list ile edinmelisin. Sonra en büyük porsiyondan aramaya başlayarak istediğin verileri getirmelisin. Örnek en büyük porsiyon arsa ile arsa tablosunda arama yapmalısın. Sonra il bilgisini sonra ilçe sonra m2 gibi detaylardan arama yapmalısın.
Ücretsiz bulabileceğin bu tip bir şey var mı bilmiyorum.-
sodium
cevaplarınız için çok teşekkür ederim.Takıldığım bir kaç nokta var cevaplarınızda.
1- serialize methodu ile veritabanına nasıl kayddedebilirim.İnternette çok araştırdım ama yeterli kaynak yok maalesef.Sadece nasıl kullanıldığı ile ilgili örnekler var.Bununla ilgili örnek ve ya kaynak var mı bildiğiniz?
2- il ilçe semt bilgileri için de serialize kullanmam mümkün olur mu?10 yıl önce yazılmış -
Kesali
Sahidindeni örnek alabilirsin siteni yapmak için. Ev ilanı çıktı diyelim soldaki alandaki çeşitli listeler var. Onları filtre olarak kullanacağın için her birine sütun açabilirsin. İl ilçe bilgisini arama kriteri olarak kullanacağın için serialize ile işini zorlaştırmana gerek yok. İlanın hemen altında arama sorgularına etki etmeyen ama satın almaya etki eden özellikler kısmı var Kullanım Amacı/genel özellikler/vs var. BU bölümü ayrı bir tabloya alıp. id|ev_id|ozellik bu üç sütunu açıp özelliklerin tamamını ozellik sütununda serialize ile tutabilirsin.
Örnek
$veri = serialize(array('isitici'=>'klima','sicak_su'=>'Doğal Gaz'));
Aşağıdaki gibi belli bir kurala uymayan arama için çok fazla etkisi olmayan değişkenleri tek bir sütuna atabilirsin.
verileri okurkende.$unserialize_veri = unserialize($veri);
ile veriyi tekrar array yapısına döndürebilirsin.10 yıl önce yazılmış -
sodium
gerçekten çok teşekkür ederim yardımlarınız için.Çok işime yarayacak bilgiler verdiniz.10 yıl önce yazılmış
-
Cevaplar
-
en kestirme yol ve en iyi yolu soliyim sana kardesim..
nasıl bi kategorileme sistemi yapıyorsan bu ev araba grupların icinde öyle bir kategori sistemi yap. ekstradan ilan id sinin kontrolu ıcınde ekstra bir tablo yap ilanın turunu tutsun.. demek istedigim söyle
Tablolar:
Grup_Konut
--------------------
id | BaglamaID | oda sayisi| .. | ... | .. | .. | metrekare | kat | ... |
---------------------------------------------------
Grup_arsa:
----------------
id | BaglamaID | kacDekar | Kacmetrekare | ... | .. | .. | .. |
Grup_Vasita
------------
id | BaglamaID | vites | koltuk | airback | .. .. | .. | .. |
-----------------------------------------------------
Tablo_Baglama
-------------------
BaglaID | TUR | ilanID
--------------------------
1 | Konut | 34
2 | Konut | 36
3 | Arsa | 35
4 | Vasia | 46
----------------------------
.. gibi.