Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Projekt bazy
jachu151
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 26.02.2007

Ostrzeżenie: (0%)
-----


Witam serdecznie. Mam pytanie do osób doświadczonych w projektowaniu baz danych.

Problem, jak optymalnie zrealizować taki oto system:

- baza ogłoszeń nieruchomości
- cechy do oferty

Różne typy ogłoszeń mieszkania, domy, itd. każdy tych będzie zawierał trochę cech wspólnych trochę różnych. Domyślnie dużo cech.


Czy optymalnym rozwiązaniem będzie stworzenie tabeli:

offer - ogłoszenia, zawierające ID, opis, daty dodania modyfikacji itd
feature_date
feature_text
feature_int ...

osobne tabele dla różnych cech w zależności jakiego typu one będą.

Wyszukiwanie będzie zawierać dużo LEFT JOINOW, jeśli będę chciał znaleźć ofertę o 10 cechach to jest 10 joinów, da się to zrobić optymalniej? Z mniejszą zależnością od ilości wyszukiwanych cech?



Pozdrawiam
jachu
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
alegorn
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

Ostrzeżenie: (0%)
-----


normalizacja przyczyna spadku wydajnosci? noo, ja bym raczej powiedzial cos znacznie innego, no ale ro Twoje dzielo ma byc.

co do :: offer_features
powiedz mi jakie klucze zakladasz na ta tabele?
o ile widze zamierzasz zalozyc klucz primary i autoinc na ID, byc moze do tego dolozysz unika na feature_id, offer_id

ale ja sie zapytam... poco ?
wywal pole id. zaloz primary na feature_id, offer_id
zysk poza wielkoscia tabeli - to jeden ZBEDNY index mniej, czyli zysk na update/insert w tabeli. to pole naprawde nie ma racji bytu tutaj..

swoja droga o co biega z tabelami offer_features_* ? tzn z ich iloscia..


j.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 15:10