mysql - 性能表布局(多个查询与一个大查询)

标签 mysql performance

我有一个简单的问题。

我正在做一个使用 MySQL 的 Web 应用程序,目前正在设计它。我只是有一个关于性能的小问题。

我想知道什么更有效率:

场景 #1:

Table: Restaurant
    -Name
    -City
    -Province
    -Country
    -Continent

sql =~ select * from restaurant where id = something.

场景#2:

Table: Restaurant   
    -Name
    -City
Table: City
    -Name
    -Province
Table: Province
    -Name
    -Country
Table: Country
    -Name
    -Continent
Table: Continent
   -Name

sql =~ [insert multiple sql queries that will output the name and the city,
        with the corresponding province, country, and continent]

从逻辑上讲,我认为场景 #1 更好(查询更少),但有些人向我发誓并非如此。

最佳答案

是的,但问题是哪个选项表现更好。在那种情况下,毫无疑问:选项 # 1 将执行得更好,因为查询不必与任何其他表连接。 Randolph 确实有一个很好的观点,您应该尽可能规范化您的数据库结构。

关于mysql - 性能表布局(多个查询与一个大查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570648/

相关文章:

mysql - 如何在已存在的列数据中插入特定字符

javascript - 使用 toISOString() 和 JSON.stringify() 将日期转换为字符串之间的区别

java - 准备好的语句更新 - 性能改进

c# - WPF 动画性能随时间下降

mysql - 重置 SQLite3/MySQL 中的行数计数

php - 从性能角度重定向用户的最佳方式

python - 无法使用 python 访问 mysql 数据库(都在不同的容器上运行)

php - 给出警告 : mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool 值

android - android中应用程序CPU使用率很高?

c++ - 这里访问了多少个不同的指针/间接级别?