MySQL Forums :: Performance :: Wrong estimation of Rows in explain


Advanced Search

Re: Wrong estimation of Rows in explain
Posted by: Rick James ()
Date: July 29, 2016 06:58PM

The PARTITIONing provides no performance gain.

The query is asking for 3 million rows from one table, then randomly reaching into the other table 3 million times. Since `innodb_buffer_pool_size` is very small (it should be about 70% of _available_ RAM), the query will have to do a lot of I/O.

I don't see a row estimate of 2; I do see 17. Either of those could be reasonable, since it it not the number of rows in the table, but rather the number of rows in the second table for each row of the first table.

It is usually a mistake to have a pair of columns like this in some table other than a table with "only" these:

AttributeId int(11) ,
AttributeName varchar(100) ,

Do you need 2 billion values for those various IDs? Consider `SMALLINT UNSIGNED` (65K distinct values), or other sizes of INTs. That will save some space.

Options: ReplyQuote


Subject Views Written By Posted
Wrong estimation of Rows in explain 554 Rathi Rao 07/27/2016 06:19AM
Re: Wrong estimation of Rows in explain 276 Peter Brawley 07/27/2016 08:55AM
Re: Wrong estimation of Rows in explain 310 Rathi Rao 07/27/2016 11:58PM
Re: Wrong estimation of Rows in explain 294 Peter Brawley 07/28/2016 09:14AM
Re: Wrong estimation of Rows in explain 296 Rathi Rao 07/29/2016 05:11AM
Re: Wrong estimation of Rows in explain 287 Peter Brawley 07/29/2016 01:10PM
Re: Wrong estimation of Rows in explain 297 Rick James 07/29/2016 06:58PM
Re: Wrong estimation of Rows in explain 272 Rathi Rao 08/02/2016 05:48AM
Re: Wrong estimation of Rows in explain 293 Rick James 08/02/2016 06:23PM
Re: Wrong estimation of Rows in explain 269 Rathi Rao 08/02/2016 05:38AM
Re: Wrong estimation of Rows in explain 298 james wang 08/04/2016 05:31AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.