G'day all, I was hoping to leech from your amalgamated knowledge:
I've been asked to estimate the query performance of several SQL
queries that power our  Reporting system. At the moment we're
preparing to scale up enormously the amount of data we're using in our
system, and therefore I'm trying to estimate the length of time these
queries will take. We are using Red Hat 7.2/MySQL 3.23.49a I believe
(I know, I know - dont ask why).

Refering to the manual, section 7.2.2 Estimating Performance
(http://dev.mysql.com/doc/mysql/en/Estimating_performance.html). I
have an issue with the values for the equation given:

    log(row_count) / log(index_block_length / 3 * 2 / (index_length +
data_pointer_length))
        + 1 seeks to find a row. 

Lets take one of my example tables:
     row_count - 1,024,306 (will soon be ~23,250,000) rows.
     index_block_length - ?
     index_length - ?
     data_pointer_length - ?

* data_pointer_length & index_block_length :-
   I know the manual states:     
   "MySQL an index block is usually 1024 bytes and the data pointer is
usually 4 bytes"
   My issue is, what is meant by *usually*. How can I check. Should I
just use these.

* index_length :-
   For this table, it has the following indexes:
        PRIMARY KEY  (`ID`),                   <- ID is INT(11)
        KEY `LogTimeIdx` (`LogTime`),       <- LogTime is TIMESTAMP(14)
        KEY `signid` (`SignID`)                   <- SignID is INT(11)
   So what would be my index length?

* SHOW TABLE STATUS tells me:
   rows: 1,024,306
   avg_row_length: 51
   data_length: 52,543,348
   index_length: 32,238,592

Any help with the values I should be using or any guidance on
estimating a Queries Performance would be unimaginably appreciated.

Regards, Matt.

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

Reply via email to