RETS以及如何设计我们的数据库表,因为它有很多列和查询性能问题

时间:2012-05-01 12:32:34

标签: php mysql rets

最近我正在使用RETS,所以我必须下载所有数据并将其保存到我们的网络服务器。我正在使用MySQL和PHP。

我在元数据上看到我有很多专栏。我认为在一个表中创建100多列不是明智的决定。如果我这样做,我必须使用MyISAM

如果我制作4或5个表(每个表可能有20多列),那么我需要制作一个父表,其余的表使用外键将彼此连接到其父表。所以在这种情况下我需要InnoDB引擎。

当我在我的服务器上运行搜索时,两种情况都会正确地给我输出但是哪一个会花费更少的时间来给出结果?

因为第一种情况只是一个表而我只是获取某些条件的数据但第二​​种情况我必须进行连接和搜索?

请建议我哪个是好的设计,或者如果你有任何好主意,请与我分享。

3 个答案:

答案 0 :(得分:2)

几乎所有MLS RETS Feed都有3个子类别的信息,可以分为表格。

所以你可能有住宅,租赁和商业桌子。

使用MLS ID作为主键。

您可以将住宅表分成

residentialPriceInfo

字段

  • MLSID
  • ListPrice
  • UtilityFees
  • 社区费用
  • TaxID
  • 其他费用

residentialAgentInfo

字段

  • MLSID
  • ListAgentName
  • ListAgentPhone
  • ListOfficeName
  • ListOfficePhone

residentialDetailsInfo

字段

  • MLSID
  • BathsFull
  • BathsHalf
  • TotalBeds
  • SquareFeet
  • 地址
  • 国家

答案 1 :(得分:0)

拆分列时,请确保按访问频率/首选项对其进行分组,以避免多个连接。

答案 2 :(得分:0)

最大(也是最简单)的性能改进是将每个板分成独立的表。