你们好啊,
对于如何设计MySQL表结构进行搜索优化,我需要一些建议。
我正在创建一个房地产网站。因为我有属性表及其所有关联的表。
我可以用两种方式来设计保存这些记录的表格。
我有舒适的主桌
id property_name
----------------
1 Property A
2 Property B
3 Property C方法1属性表
id property_name
----------------
1 Property A
2 Property B
3 Property CProperty_Amenities表
id p_id amenity_id
------------------------
1 1 1
2 1 2
3 1 3
4 1 4
5 2 1
6 2 1方法2
属性表
id property_name amenity_id
----------------------------
1 Property A 1,2,3,4,5
2 Property B 1,4,7,9,12
3 Property C 3,4,7,8,9,10 Approach 1查询:我可以连接表并获取特定属性的所有便利设施名称。添加优化所需的索引。对于一个物业,平均有20种便利设施。假设我有100 K属性记录,然后为了获得特定属性的便利条件,MySQL查询将在2百万记录中搜索Property_Amenities表。
方法2查询:我可以使用FIND_IN_SET或IN MySQL操作符进行搜索。但我正在浏览这个搜索主题,而且这种方法似乎需要大量的资源,而且对于相同数量的数据(即100 k属性记录)来说,成本也会更高。
任何建议都会被采纳。你对这个场景的想法或者我应该遵循的任何其他方法。
发布于 2020-05-23 12:00:35
使用第一种方法。句号。第二个是错的,错的,错的。以下是一些原因:
不应该使用SQL字符串来存储多个values.
<代码>F 211>
https://stackoverflow.com/questions/61971687
复制相似问题