1

我正在使用 Netty 和 MySQL(带有 JDBC 连接器/J)编写服务器。

请注意,我对服务器编程非常陌生。

假设我有一个应用程序,用户输入了大约 20 条关于他们自己的信息。我需要制定一些方法,只需要这些信息中的特定数据。

Instead of using "select dataOne, dataTwo from tableOne where userNum=1~1000"
create a new table called tableTwo containing only dataOne and dataTwo.
Then use "select * from tableTwo where userNum=1~1000"

当我为我需要的每种方法制作表格时,这是一个好习惯吗?如果没有,有什么更好的做法?

4

1 回答 1

3

您不应该复制数据。

SELECTSQL 的创建方式是在语句之​​后指定所需的确切列。

选择特定列没有开销,这就是 SQL 的设计方式。

复制数据和存储在 2 个不同的表中会产生开销。

使用这种设计的后果:

  • 在我们只使用的世界中,我们select *需要一个不同的表来为我们想要的结果中的每个列组合。
  • 因此,我们将重复存储相同的数据。如果您需要 10 种不同的列组合,这将是您数据的 10 倍。
  • 最后,数据操作语句 ( update, insert) 将需要更新多个表中的相同数据,这也会增加执行基本操作所需的时间。
  • 这将导致数据库不可扩展。
于 2013-09-11T13:12:21.063 回答