Subject | Re: [firebird-support] Re: Query with aggregation is slow! |
---|---|
Author | Ann W. Harrison |
Post date | 2009-12-04T16:21:55Z |
Svein Erling Tysvær wrote:
generally execute a count by counting records in the index
without reading the data. That's more complicated for MVCC
databases because one record can have several versions, each
of which is represented in the index. Firebird in specific
doesn't maintain transaction information in the index - it
would double the size of most indexes - so it can't tell
whether a record should be counted without reading it.
MSSQL is a record-locking system.
Regards,
Ann
> MS SQL might use a very different architecture, unfortunately I do not know.Databases that use record locks for concurrency control can
>
generally execute a count by counting records in the index
without reading the data. That's more complicated for MVCC
databases because one record can have several versions, each
of which is represented in the index. Firebird in specific
doesn't maintain transaction information in the index - it
would double the size of most indexes - so it can't tell
whether a record should be counted without reading it.
MSSQL is a record-locking system.
Regards,
Ann