3 messages in com.mysql.lists.win32RE: group slow
FromSent OnAttachments
Jorge Bastos14 Apr 2006 02:47 
Joelle Tegwen14 Apr 2006 07:20 
jbon...@sola.com.au17 Apr 2006 16:20 
Subject:RE: group slow
From:jbon...@sola.com.au (jbon@sola.com.au)
Date:04/17/2006 04:20:19 PM
List:com.mysql.lists.win32

The reason your second query is so fast is that it amounts to just counting the rows in the table, but MySQL always remembers how many rows there are, so it can give you that answer very quickly.

Your other query asks MySQL to do some real work to give the count for each user name and so it takes longer. Having an index on username should speed this process.

John B.

-----Original Message----- From: Jorge Bastos [mailto:mysq@decimal.pt] Sent: Friday, 14 April 2006 7:18 PM To: win@lists.mysql.com Subject: group slow

DecimalHi people,

Is there any procedure to make the group function faster? I mean, i have a tabel with 200.000 record and about 8 fields, a command like:

--- select username,count(*) from table group by username

---

will take about 4/5 secunds

a simple select count(*) from table

will take 0.00045 secunds ( more or less )

here's the table description:

+---------------+---------------+------+-----+---------------------+---- ---+ | Field | Type | Null | Key | Default | Extra | +---------------+---------------+------+-----+---------------------+---- ---+ | username | varchar(255) | | MUL | | | | filename | text | | | | | | file_bytes | bigint(15) | | | 0 | | | remote_host | varchar(255) | | | | | | remote_ip | varchar(255) | | | | | | command | varchar(255) | | | | | | transfer_time | decimal(12,5) | | | 0.00000 | | | date_time | datetime | | | 0000-00-00 00:00:00 | | | info | varchar(2) | | | | | +---------------+---------------+------+-----+---------------------+---- ---+