![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 15:10 |