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

自動更新に設定されている場合、これらの SQL Server 統計が古いのはなぜですか?

    Auto update statistics を true に設定しても、しきい値に達した場合にのみ更新されます..これはバージョンによって異なります

    SQL Server 2012 以前のしきい値:

    <オール> <リ>

    テーブル サイズが 0 から> 0 行になりました

    <リ>

    統計が収集されたときのテーブルの行数が 500 以下であり、その後、統計オブジェクトの先頭列の colmodctr が 500 を超えて変更された

    <リ>

    統計が収集されたときにテーブルに 500 を超える行があり、統計オブジェクトの先頭の列の colmodctr が、統計が収集されたときにテーブル内の行数の 500 + 20% を超えて変更されました

    SQLServer 2016 の場合、大きな変更はほとんどなく、新しいアルゴリズムを使用した SQL 更新統計 (古いバージョンよりも頻繁に読み取られます)

    通常、人々は週末にメンテナンス ジョブをスケジュールし、これにはインデックスの再構築/統計の更新が含まれます..

    これは通常、ほとんどのデータベースを処理するはずです。あなたの場合、統計が無効なためにパフォーマンスの問題が発生している場合は、手動で更新できます。週に 1 回行いますが、StackOverflow のようなサイトではより頻繁に行われています

    update stats tablename
    

    参考資料/参考資料:
    クエリ オプティマイザーで使用される統計Microsoft SQL Server 2008
    統計がいつ自動的に更新されるかを理解する




    1. 特定の日付から月の最終日を取得するにはどうすればよいですか?

    2. ユーザーのデフォルトスキーマを変更する

    3. PostgreSQLの外部キー+テーブル継承?

    4. JDBCプリペアドステートメントを使用したSQL1064構文エラー