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-1列分のデータを選択します。

その常識は本当に..より多くのデータ..より多くの時間。

しかし、@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 に答える