On Thu, Nov 07, 2002 at 12:32:58PM -0500, Michael T. Babcock wrote:
> I've got a query that selects the count of distinct rows in a table; the 
> table has 453632 rows and 24 distinct class_id's.
> 
> mysql> SELECT count(DISTINCT(sig_class_id)) FROM acid_event;
> +-------------------------------+
> | count(DISTINCT(sig_class_id)) |
> +-------------------------------+
> |                            24 |
> +-------------------------------+
> 1 row in set (4.80 sec)
> 
> mysql> select count(*) FROM acid_event;
> +----------+
> | count(*) |
> +----------+
> |   453632 |
> +----------+
> 1 row in set (3.12 sec)
> 
> 
> Is there any way to speed up these queries (InnoDB tables), or just put up?

Check if the machine is disk or CPU bound when it runs.  You may need
a larger innodb_buffer_pool.  That'll help keep more records in memory
and imporove response time.

> PS, at that number of distinct values, am I right in thinking that I 
> should just drop the index on that column while I'm at it?

Maybe.  Depends what else it might be used for.

Jeremy
-- 
Jeremy D. Zawodny     |  Perl, Web, MySQL, Linux Magazine, Yahoo!
<[EMAIL PROTECTED]>  |  http://jeremy.zawodny.com/

MySQL 3.23.51: up 93 days, processed 1,954,140,347 queries (241/sec. avg)

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to