-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
This is probably stupid for some reason, but why not use a 64-bit integer to track the number of records in the table? Increment when adding records, decrement when deleting them... then COUNT(*) could just return that in cases where a query is known to be looking at all of the records?
Check the list archives for details, but you need to consider multiple backends inserting/deleting concurrently. What you need is a separate little table where you can log your transaction-id and number of rows added/removed then you can figure out how many rows there are from different viewpoints.
-- Richard Huxton Archonet Ltd
---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@xxxxxxxxxxxxxx)