Zkoušel jsem to udělat dříve a může to být velmi pomalé v závislosti na tom, kolik filtrů povolíte a kolik hotelů uvádíte, nemluvě o tom, jak se vypořádáte s duplicitními hotely.
Nakonec však budete mít velmi málo možností filtrování
- Typ vlastnosti:normalizujte jej v samostatné tabulce
- Ložnice:ukládejte to jako maličké nebo malé (buď nepodepsané), nedovedu si představit, že existují nemovitosti s více než 255 ložnicemi a rozhodně ne nad 65 000
- Umístění:normalizujte je v samostatné tabulce, ideálně ve stromovém formátu, aby byly zaznamenány vztahy
- Hodnocení hvězdičkami:toto může být uloženo jako malá část bez znaménka
Nyní je váš problém v tom, že pokud někdo použije filtr pro 3 ložnice a vyšší, stále byste měli dostávat hodnoty pro 2 ložnice, 1 ložnice, protože změna filtru zpět na to přinese výsledky.
Na konci dne jsem to řešil pomocí velmi velké paměťové tabulky, nějaké logiky pro vytváření příkazů WHERE a JOIN a individuálního dotazu počítajícího záznamy v rámci nastaveného seskupení. Bylo to však kvůli tomu, že dělali podobné výsledky vyhledávání uživatelů o prázdninách, a jako taková byla data považována za zcela přechodná. Pro vaše účely bude pravděpodobně přijatelná mnohem menší tabulka paměti, nicméně princip je podobný.