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

行を追加し続けると SQL Server 2005 の速度が低下する

    最初の問題があります。データベースは、所有しているデータの種類を伝え、そのデータに適した最小のデータ型を選択すると最適に機能します。 NVARCHAR(Max) は、最も効率の悪い選択です。

    そして、それがあなたの2番目の問題です。挿入するたびに、特定の列の別の行と同じ値を持つ行が既に挿入されているかどうかを確認しています。これらの列にインデックスを付けるようにデータベースに指示していないため、データベースは毎回テーブル全体をチェックする必要があり、テーブルが大きくなるにつれてクエリはますます遅くなります。主キーを既存のテーブルに追加するには、これを使用できます:

    ALTER TABLE table1 ADD CONSTRAINT pk_table1 PRIMARY KEY (Ticker, DateStamp)
    

    こちら をご覧ください 詳細については



    1. データベースシャーディングのためのMySQLプロキシの代替

    2. 致命的なエラー:未定義の関数の呼び出し:MDB2_Driver_MYSQL ::getAll()

    3. Windows サービスのテストに関する問題

    4. 2つの異なるスレッドがDBから同じ行を読み取らないようにする方法(HibernateとOracle 10g)