Jen*_*ell 1 php mysql sql performance select
我使用PHP和mysql.
假设我有一个包含10 000行的数据库表.下面哪个案例最好的表现明智?
两张桌子,products和categories.
SELECT * FROM products INNER JOIN categories ON products.category_id = categories.id
Run Code Online (Sandbox Code Playgroud)
制品
id
name
category_id
Run Code Online (Sandbox Code Playgroud)
分类
id
name
Run Code Online (Sandbox Code Playgroud)
一个表,products包含所有数据.
SELECT * FROM products
Run Code Online (Sandbox Code Playgroud)
制品
id
name
category_name
Run Code Online (Sandbox Code Playgroud)
从我的角度来看,这Case 1是"正确"的做法,但我会通过使用来节省一些开发时间Case 2.也许表现呢?
这个评论太长了.第一种是存储此数据的正确(即SQLish)方式.它允许您执行以下操作:
表现不是主要考虑因素.SQL引擎通过使用花哨的连接算法和索引来处理性能.它可以做到这一点,因此您可以以最合理和可维护的方式为您的应用程序构建数据.
也就是说,哪个表现更好取决于许多因素(类别名称有多长,有多少个不同的名称,产品记录有多宽).在使应用程序以最佳方式工作时,两种方案之间的性能差异可能并不重要.