 |
 |
Archives of the TeradataForum
Message Posted: Thu, 16 Mar 2001 @ 03:03:01 GMT
| Subj: | | Re: Number of request by user |
| |
| From: | | Sam Mosley |
This is more complicated than you might think.
You will find that logging for a single request also covers multiple log times due to the fact that it logs per object invovled in
the query as indicated by others. Each access to the dbc rights table causes a row in the access log, and that may take several
seconds, depending upon the complexity of the query. Since you are interested in who, how many requests, and when, you will need to
group by username, sessionno, logdate, and statementtext as a minimum. You may also need to group by eventcount. Not including
logtime may cause you to undercount, but including log time will definitely cause you to over count. The undercounting is because
the same person may submit the same query more than once on the same day using the same session. Getting an exact count of queries
per person is somewhat difficult due to the multiple logging. If you want to get closer you can take a portion of the logtime and
make an assumption that someone won't intentionally issue the same query twice in one minute. Then you can group by logtime (at
least a portion of it including hour and minutes). This too can be wrong due to logging across a minute boundary. (1st logged
object at 01:01:59 and last at 01:02:01). If you choose to count grouped by statement text per minute you would count this example
twice. However, in the long run the number that are double counted as a result of logging across the minute boundary is small, and
possibly offset by the number of real queries done twice in the same minute.
So, what should have been a simple exercise in counting, turns out to be a pretty complex thing to do if you are logging on each
all.
Hope that didn't confuse more than clarify.
Sam Mosley
President
VLDB Systems, Inc.
| |