sql >> データベース >  >> RDS >> PostgreSQL

大きなテーブルを結合するときのpostgresクエリが遅い

    • スキーマは妥当に見えます(クエリの場合、実際にはインデックスは必要なく、一部のインデックスはすでにFK制約でカバーされています)
    • ジャンクションテーブルには代理キーは必要ありません(ただし、害はありません)。
    • クエリが遅い本当の理由は、すべての行が必要であるためです。 すべてのテーブルから 集計を計算します。 100%のデータが必要な場合、インデックスはあまり役に立ちません。
    • 追加の制約を追加すると(たとえば、snapshot_timestamp> =some_date)、インデックスを使用する別のプランが発生する可能性があります。



    1. WHERE句のSQLで2つの列を組み合わせる

    2. キーによって日付範囲の行を生成する方法

    3. MySQLiでfetch_arrayを使用しながらデータ型を検出する

    4. MySQLDECIMALデータ型