Thanks for the prompt reply, Augusto -

I completely understand what you're saying. To have anything such as a real-time measurement to the exact number of tables would be an incredible preformance degration, not to mention overhead and the like.

I think I'm willing to accept the fact that while data is being sent to the database server, I won't get an exact reading of database/table/row size. This makes complete sense. However, what I am after, is how to get the exact size of a database/table/row when NO connections are being made. Say, if I started MySQL with no networking. This way, I could positively ensure that no data modification would be taking place. Is this possible?

Thanks for your wonderful insight.  Both of you.  It is much appreciated.

Thanks!
-dant

Augusto Bott wrote:
Dan,

I'm afraid I must quote James:

I suppose this is an inherent limitation of transactional tables


Think of something like that: Some of my databases have transactional
tables with several Gbs and a lot of clients simultaneosly connecting
and inserting/updating a lot of data, on the sames tables. Why would
your transaction see 'exactly' at the same moment the data altered by
some other session?

I mean, if we can have different transaction isolation levels on
different storage engines, why can't the tables 'status scoreboard' be
updated itself by 'polling' the storage engines? Why would it be
imediatly updated at every transaction commit? The MyISAM storage
engine, with a very tight relationship with the server itself,
probably has a higher 'update rate' than, let's say, InnoDB (with also
may 'suffer' some same consequences as James said related to transactions).

--
Augusto Bott
augusto.bott (at) gmail.com


On 2/1/06, Dan Trainor <[EMAIL PROTECTED]> wrote:

James Harvard wrote:

I suppose this is an inherent limitation of transactional tables - you might 
see x rows, but at the same time a use who has just inserted some rows will see 
x+y rows.

However I don't see that the numbers are going to be hugely inaccurate. After 
all, if the table was MyISAM and you get an exact number of rows someone could 
still add another 20 rows in the second after you run SHOW TABLE STATUS.

James Harvard

At 5:54 pm -0700 1/2/06, Dan Trainor wrote:


So, now this has made me think here.  If 'SHOW TABLE STATUS' only shows an 
"estimate" of the number of rows contained in a table, how accurate is the rest 
of the data in 'SHOW TABLE STATUS'?

What I'm looking for is to try to find some exact numbers, such as physical data size on 
disk, queries/second, etc etc.  An "estimate" would not give me a very good 
idea of what I'm looking at.

Is there a more accurate way of getting table information, aside from 'SHOW 
TABLE STATUS'?


Thanks for the response, James -


Well, doing these two calculations happens maybe 10 minutes after the
last person has sent any data to the db.

Is there any way to show the physical disk space used by a table, or
even a column?  Maybe there's a whole list of functions which I'm
overseeing here that might explain this.

Thanks!
-dant

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to