0

有没有区别

SELECT * FROM my_table

SELECT my_column_id FROM my_table

在哪里:

  1. my_table有数百万行
  2. 网站上有很多并发用户在做sql查询

在速度?SELECT查询时只使用 1 列而不是 *(全部)会更好rowCount()吗?

4

1 回答 1

2

当然是有区别的。

SELECT * FROM my_table- 选择所有列的数据(整个表)。

SELECT my_column_id FROM my_table- 选择一列的数据。

它的常识真的..更多数据..更多时间。

但是@Juhana 提出了一个很好的观点。如果您只是计算行数,请使用SELECT COUNT(*)

为了你的评论......

O--O-------------O-------------O
|ID|   my_col_1  |   my_col_2  |
O--O-------------O-------------O
|0 | fskdjfh     | jfkhgdkfj   |
|1 | NULL        | hfkjsdh     |
|2 | jfkdhsdkjh  | NULL        |
|3 | fdfhkjh     | NULL        |
|4 | NULL        | NULL        |
O--O-------------O-------------O

SELECT COUNT(my_col_1)将返回 3

SELECT COUNT(my_col_2)将返回 2

SELECT COUNT(*)将返回 4

于 2012-11-07T14:42:54.757 回答