SQL:1つのステートメントで2つのテーブルのカウントを計算するのが遅いのはなぜですか?

リード
select count(distinct ec.logicalid) from event_counts ec where ec.eventname = 'Searches'

select count(a.logicalid) from sf_accounts a

これらの2つのクエリは、それぞれ数ミリ秒で実行されます。

クエリを1つに組み合わせると、同じ結果が得られますが、実行には2分かかります。

select count(distinct ec.logicalid),  count(distinct a.logicalid) from event_counts ec, sf_accounts a where ec.eventname = 'Searches'

このクエリを高速化する何かが欠けていますか?

scsimon

これらのテーブルを相互結合しているため、古いスタイルで結合します。これが起こっていることを知らなかったと思いますが、なぜそれらを使用すべきでないのかについてはここで読むことができます

あなたが望んでいたのは、1つのテーブルの結果だったと思います。その場合は、サブクエリを使用してください。

select (
    select count(distinct ec.logicalid) 
    from event_counts ec 
    where ec.eventname = 'Searches'
   ) as firstcount, 
       (
    select count(a.logicalid) 
    from sf_accounts a
   ) as secondcount

それ以外の場合は、テーブルを正しく結合します

select 
   count(distinct ec.logicalid) 
   ,count(a.logicalid)
from event_counts ec
inner join sf_accounts a on a.logicalid = ec.logicalid
where ec.eventname = 'Searches'

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SQL Serverが1つの外部キーに対して2つのステートメントを生成するのはなぜですか?

分類Dev

複数のテーブルからカウントし、1つのクエリですべてのカウント値を返すのが遅い

分類Dev

正しい出力のために、2つのオペランドを持つステートメントが1つのオペランドを持つステートメントの上にある必要があるのはなぜですか?

分類Dev

'why'ループの 'if'ステートメントがオブジェクトの1つを変更しないのはなぜですか?

分類Dev

forループの最初のステートメントに2つの変数を含めることができないのはなぜですか

分類Dev

a =&14の&14が1つのステートメントしか存在しないのはなぜですか?

分類Dev

1つのVerilogステートメント(つまり、〜x + 1'b1)で2の補数を計算すると、間違った答えが生成されるのはなぜですか?

分類Dev

Javascript google docs app script tryステートメントが1つのステートメントのみを実行するのはなぜですか?

分類Dev

Postgresqlの「with」ステートメントで2つのSQLコマンドをバンドルできないのはなぜですか?

分類Dev

MySQLは2つの異なるカウントステートメントの値を除算します

分類Dev

bashの算術ステートメントの前にドル記号が必要なのはいつですか?

分類Dev

1つのクエリで2つのテーブルの行をカウントする方法は?

分類Dev

このコードがリスト内の1つのアイテムをカウントするのに機能し、他のアイテムはカウントしないのはなぜですか?

分類Dev

ブールifステートメントで値を宣言する必要がないのはなぜですか?

分類Dev

mysqlの異なるテーブルから2つの列値を乗算する更新ステートメントが必要です

分類Dev

特定の入力について、ステートメントが途中で終了するのはなぜですか

分類Dev

1つのSQLクエリ(JOIN)で1つの通常のテーブルと別のテーブルからのカウントを取得する

分類Dev

1つのSQL結合ステートメントを使用して複数のMySQLテーブルからエントリを追加しますが、2番目のテーブルで使用可能なエントリがある場合のみ

分類Dev

c#Linq:1つのテーブルから2つのカウントクエリをマージするにはどうすればよいですか?

分類Dev

forステートメントの1つの配列のサイズを計算するためのより良い方法はどれですか?

分類Dev

子テーブルの1つのフィールドの値に基づいて合計をカウントする5つのサブクエリを1つの更新にグループ化するにはどうすればよいですか?

分類Dev

1つのSELECTステートメントでカウント関数とカウント合計のパーセンテージを使用する

分類Dev

1つの列でCASEステートメントを使用し、別の列の集計を計算する

分類Dev

SQL:2つの異なるテーブルから2つの異なる列をカウントします

分類Dev

Ruby:なぜこのWHENステートメントが2つの条件で機能しないのですか?

分類Dev

1つまたは2つのステートメントのwhileループの違いは何ですか?

分類Dev

1つの関数で2つのifステートメントが機能しないのはなぜですか?

分類Dev

whileステートメントphpでカウントが上がらないのはなぜですか?

分類Dev

この範囲が1つの数値を返すステートメントに基づいているのはなぜですか?

Related 関連記事

  1. 1

    SQL Serverが1つの外部キーに対して2つのステートメントを生成するのはなぜですか?

  2. 2

    複数のテーブルからカウントし、1つのクエリですべてのカウント値を返すのが遅い

  3. 3

    正しい出力のために、2つのオペランドを持つステートメントが1つのオペランドを持つステートメントの上にある必要があるのはなぜですか?

  4. 4

    'why'ループの 'if'ステートメントがオブジェクトの1つを変更しないのはなぜですか?

  5. 5

    forループの最初のステートメントに2つの変数を含めることができないのはなぜですか

  6. 6

    a =&14の&14が1つのステートメントしか存在しないのはなぜですか?

  7. 7

    1つのVerilogステートメント(つまり、〜x + 1'b1)で2の補数を計算すると、間違った答えが生成されるのはなぜですか?

  8. 8

    Javascript google docs app script tryステートメントが1つのステートメントのみを実行するのはなぜですか?

  9. 9

    Postgresqlの「with」ステートメントで2つのSQLコマンドをバンドルできないのはなぜですか?

  10. 10

    MySQLは2つの異なるカウントステートメントの値を除算します

  11. 11

    bashの算術ステートメントの前にドル記号が必要なのはいつですか?

  12. 12

    1つのクエリで2つのテーブルの行をカウントする方法は?

  13. 13

    このコードがリスト内の1つのアイテムをカウントするのに機能し、他のアイテムはカウントしないのはなぜですか?

  14. 14

    ブールifステートメントで値を宣言する必要がないのはなぜですか?

  15. 15

    mysqlの異なるテーブルから2つの列値を乗算する更新ステートメントが必要です

  16. 16

    特定の入力について、ステートメントが途中で終了するのはなぜですか

  17. 17

    1つのSQLクエリ(JOIN)で1つの通常のテーブルと別のテーブルからのカウントを取得する

  18. 18

    1つのSQL結合ステートメントを使用して複数のMySQLテーブルからエントリを追加しますが、2番目のテーブルで使用可能なエントリがある場合のみ

  19. 19

    c#Linq:1つのテーブルから2つのカウントクエリをマージするにはどうすればよいですか?

  20. 20

    forステートメントの1つの配列のサイズを計算するためのより良い方法はどれですか?

  21. 21

    子テーブルの1つのフィールドの値に基づいて合計をカウントする5つのサブクエリを1つの更新にグループ化するにはどうすればよいですか?

  22. 22

    1つのSELECTステートメントでカウント関数とカウント合計のパーセンテージを使用する

  23. 23

    1つの列でCASEステートメントを使用し、別の列の集計を計算する

  24. 24

    SQL:2つの異なるテーブルから2つの異なる列をカウントします

  25. 25

    Ruby:なぜこのWHENステートメントが2つの条件で機能しないのですか?

  26. 26

    1つまたは2つのステートメントのwhileループの違いは何ですか?

  27. 27

    1つの関数で2つのifステートメントが機能しないのはなぜですか?

  28. 28

    whileステートメントphpでカウントが上がらないのはなぜですか?

  29. 29

    この範囲が1つの数値を返すステートメントに基づいているのはなぜですか?

ホットタグ

アーカイブ