【发布时间】:2015-07-24 23:16:38
【问题描述】:
什么是最好的? 有两个相关的表并通过带有 id 列的内部连接查询数据,或者已经有一个带有字符串的表并进行简单查询? (考虑大量记录)
示例(内部联接)
Table1
ID - Value
1 - AAA
2 - BBB
3 - CCC
4 - DDD
...内部联接 ...其中 value = 'BBB'
Table 2
ID - Table1_id
21645 - 1
45465 - 2
78787 - 2
68797 - 4
===========================
示例(简单选择)
Table 2
ID - Table1_value
21645 - AAA
45465 - BBB
78787 - BBB
68797 - DDD
where table1_value = 'BBB'
在第一个示例中我使用的空间更少,而在第二个示例中处理更少?
【问题讨论】:
-
您应该阅读数据库设计和规范化。答案是:使用连接
-
你应该遵循第一种方法
-
你能把问题中的两个查询都贴出来吗?
-
@juergend,这是一个糟糕的例子,我认为没有任何理由在没有更多上下文的情况下在这里使用联接。
-
"Tons" = 数千 --> 差别不大。 "吨" = 百万 --> 让我们看看
SHOW CREATE TABLE的其余部分;我怀疑有(或没有)两张桌子可能有正当理由。
标签: mysql performance inner-join