sql >> Database >  >> RDS >> Sqlserver

ongecodeerde Count(*) vs Systeemtabellen

De waarde die is opgeslagen in de metadata is niet gegarandeerd correct. DBCC UPDATEUSAGE kan worden gebruikt om dit te corrigeren wanneer het gebeurt (minder waarschijnlijk sinds SQL Server 2000)

Ook is het niet transactie consistent. U kunt een telwaarde lezen die is bijgewerkt door een niet-vastgelegde transactie.

En het is mogelijk dat deze waarden ook handmatig worden bijgewerkt.

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. Verschil tussen inline en out-of-line beperkingen

  2. MySQL geoptimaliseerde query voor not in

  3. MySQL-composiet uniek op FK's

  4. Laravel welsprekend vinden terugkerende null