我正在编写一个系统来搜索房地产列表的 MySQL 数据库。我很关心性能,并想就如何处理这个问题提供一些意见。
最常被查询的表是“listings”表,它将包含超过 60 万条记录和 86 列。随着列表的变化,该表也将每 30 分钟更新一次。
几乎每次搜索都将针对状态为“活动”的记录,这将是 600k 记录中的大约 15k。但是,我需要保留我们内部报告的所有记录。此外,每个查询都可能会搜索各种参数(#beds、#baths 等),因此缓存可能不可行。
我正在考虑维护第二个表,其中包含标记为“活动”的记录的 PK。创建在列表的 PK 上连接的表的视图。但是,我知道在某些情况下,视图可能非常低效。
我确实有过维护两个数据库的想法,因为不活动的列表不会被频繁搜索并且需要更少的维护。
幸运的是它还没有投入生产,我有时间进行性能测试。还有一件事,这将托管在一个专用的 Linux 服务器上,前端是用 PHP 编写的。非常感谢您提供的任何见解。