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

コーディングされていないCount(*)とシステムテーブル

    メタデータに保存されている値が正しいとは限りません。 DBCC UPDATEUSAGE これが発生したときに修正するために使用できます(SQL Server 2000以降の可能性は低くなります)

    また、トランザクションの一貫性もありません。コミットされていないトランザクションによって更新されたカウント値を読み取ることができます。

    また、これらの値を手動で更新することも可能です。

    CREATE TABLE dbo.YourTable(X INT)
    
    UPDATE STATISTICS dbo.YourTable WITH ROWCOUNT = 1000000
    
    SELECT     sum(p.rows) eRowCount
    FROM       sys.partitions p
    WHERE      P.object_id =object_id('dbo.YourTable') AND p.index_id < 2
    



    1. 複数の基準を持つ製品を検索する

    2. 複数のブラウザの永続的なログインを許可する場合のデータベースの問題

    3. MySQLの複数の外部キー

    4. postgresがデータベースを作成しないのはなぜですか?