gpt4 book ai didi

mysql - 1M 行,1 个表,几列与 300 个表,3000 行,几列与 300 列,3000 行,1 个表?

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

我曾尝试四处寻找解决此问题的最佳方法,但我找不到此类问题的任何先前示例。

我正在构建一个基于超本地化的互联网购物中心,该区域分为大约 3000 个区域。每个区域包含大约 300 个项目。它们是相似的项目,但每个区域可能略有不同。我需要获取每个区域的“可用项目”列表。

插入速度不是问题,主要是根据“区域”值获取项目。为此类实例设置数据库的最有效方法是什么?

  1. 1 个表有 1M 行,例如

    编号 |专区 |项目 |有用
    1 | 1 | 1 |是
    2 | 1 | 2 |没有
    ...
    1262| 4 | 35 |对

  2. 300 个表,3000 行,例如

    表:zone1
    编号 |项目 |有用
    1 | 1 |是
    2 | 2 | N

    表:zone4
    编号 |项目 |有用
    ...
    35 | 35 |对

  3. 1 个表有 300 列(每列每项),3000 行

    编号 |专区 |项目 1 | item2 ...
    1 | 1 |是 | N ...
    ...
    4 | 4 |是 |是的……

在此先感谢您提供的任何帮助或线索,以便我做出决定!

最佳答案

基于意见的限制,但我们开始了;

  • 选项 1 很可能是您想要的。

  • 选项 2 会给您 300 个表进行维护,因此如果您以后需要添加一个字段,您将有 300 个表需要更改,这听起来像是一场可维护性噩梦。此外,300 个索引很可能比一个更大的索引缓存更差,并且在所有区域中搜索特定项目基本上是不可能的。

  • 选项 3 要求您更改表结构和查询以添加 300 多个项目。此外,为了能够通过 id 找到一个项目,你需要 SQL 看起来像 SELECT xx FROM yy WHERE item1=57 OR item2=57 OR ... OR item300=57 MySQL 的优化器将最可能只是放弃。

关于mysql - 1M 行,1 个表,几列与 300 个表,3000 行,几列与 300 列,3000 行,1 个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34871636/

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