gpt4 book ai didi

MySql 多表 vs 单表 : performance

转载 作者:搜寻专家 更新时间:2023-10-30 20:27:38 28 4
gpt4 key购买 nike

想象一下以下类别:酒吧、吃饭的地方、商店等......

每一个分类都会有一些共同的字段,比如

id, name, address and geolocation (Lat and Lng position).  

我很怀疑我是否应该创建一个表格来组合这些不同的类别,或者我是否应该将它拆分成单独的表格(每个类别一个表格)。

我的想法是,根据每个类别表的类别和地理位置分别检索地点在检索和更新方面会更快,当然当每个类别的地点数量增加时。

通过这种方法,我会为每个类别使用 1 个表格。

但是还有一个补充要求。每个地方都会有一个所有者(用户),一个用户可以拥有多个地方。所以这意味着我要么:

  • 需要一个连接用户表和中央巨型表的多对多表;
  • 每个类别都需要一个多对多表。

第二种情况是,当用户登录时,该用户拥有的所有地点都将从单个查询中返回,即。 id + name,假设一个用户可以是多个地方的所有者。
从这个角度来看,第二个选项似乎是一个非常糟糕的主意,因为看起来我需要创建查询来扫描每个表。
我意识到我可以使用索引来加速长表扫描,但我仍然不确定本地方数量急剧增加时的性能,目前大约有 8 个不同的类别。

根据我提出的选项,您认为最佳解决方案是什么(或者您认为我错过了更好的选项?)。
我应该指出,Web 应用程序不会经常混淆类别,尽管条形图也可以创建事件。

这个问题的答案对我来说非常宝贵,因为它将为我的应用程序的进一步开发奠定基础。
如果您不清楚我的问题中的任何内容,请告诉我。

谢谢。

最佳答案

当数据如此相似时,单个表通常是最好的。还要考虑到将来您可能会添加一个新类别 - 仅更新类别字段以包含新类别比构建新表、新查询和修改所有现有代码要容易得多。

就速度而言,索引将使它变得无关紧要。添加一个类别字段,对其进行索引,速度将不是问题。

关于MySql 多表 vs 单表 : performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23619791/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com