gpt4 book ai didi

php - Mysql性能,一表二

转载 作者:行者123 更新时间:2023-11-29 03:59:54 24 4
gpt4 key购买 nike

我使用 PHP 和 mysql。

假设我有一个包含 10000 行的数据库表。下面哪个案例的性能最好?

案例一

两个表,productscategories

SELECT * FROM products INNER JOIN categories ON products.category_id = categories.id

产品

id
name
category_id

类别

id
name

案例2

一个表,products,包含所有数据。

SELECT * FROM products

产品

id
name
category_name

问题

  • 哪些案例的性能最好?
  • 猜猜,获取具有类似结构的 10000 行数据会花费很长时间吗?
  • 其中一个案例有什么陷阱吗?

从我的角度来看,案例 1 是“正确”的做法,但我会通过使用案例 2 来节省一些开发时间。也许还有性能?

最佳答案

首先是存储此数据的正确(即 SQLish)方式。它允许您执行以下操作:

  • 使用标准外键关系在插入和更新类别名称时对其进行验证。
  • 更改类别名称并使其影响所有产品。
  • 包括有关某个类别的其他信息,例如简称、详细描述、添加日期等。

性能不是主要考虑因素。 SQL 引擎通过使用花哨的连接算法和索引来处理性能问题。它这样做是为了让您能够以最明智和可维护的方式为您的应用程序构建数据。

也就是说,哪个表现更好取决于许多因素(类别名称的长度、不同名称的数量、产品记录的宽度)。两种场景之间的性能差异对于让应用程序以最佳方式工作可能根本不重要。

关于php - Mysql性能,一表二,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39615724/

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