Il 24/07/14 11:57, Chris Knipe ha scritto:
> On Thu, Jul 24, 2014 at 11:47 AM, Johan De Meersman <vegiv...@tuxera.be> 
> wrote:
>> ----- Original Message -----
>>> From: "Chris Knipe" <sav...@savage.za.org>
>>> To: mysql@lists.mysql.com
>>> Sent: Thursday, 24 July, 2014 11:17:50 AM
>>> Subject: Avoiding table scans...
>>>
>>> mysql> SELECT MIN(ArtNumber) AS ArtNumber, MessageID FROM
>>> 78168ea0a9b3b513a1f2d39b559b406e WHERE ArtNumber > '2118806';
>> You're putting quotes around ArtNumber in your where clause, where it really 
>> is a bigint. Thus, you're forcing implicity conversion in the parser, 
>> instead of simply doing an index lookup.
>>
> mysql> SELECT MIN(ArtNumber) AS ArtNumber, MessageID FROM
> 78168ea0a9b3b513a1f2d39b559b406e WHERE ArtNumber > 2118806;
> +-----------+---------------------------------------------------------------+
> | ArtNumber | MessageID                                                     |
> +-----------+---------------------------------------------------------------+
> |   2118807 | <part26of79.GfYzwhqz$ORUpNi3tjsW@camelsystem-powerpost.local> |
> +-----------+---------------------------------------------------------------+
> 1 row in set (19.37 sec)
>
> mysql> SELECT MIN(ArtNumber) AS ArtNumber, MessageID FROM
> 78168ea0a9b3b513a1f2d39b559b406e WHERE ArtNumber > '2118806';
> +-----------+---------------------------------------------------------------+
> | ArtNumber | MessageID                                                     |
> +-----------+---------------------------------------------------------------+
> |   2118807 | <part26of79.GfYzwhqz$ORUpNi3tjsW@camelsystem-powerpost.local> |
> +-----------+---------------------------------------------------------------+
> 1 row in set (19.43 sec)
>
> mysql> EXPLAIN SELECT MIN(ArtNumber) AS ArtNumber, MessageID FROM
> 78168ea0a9b3b513a1f2d39b559b406e WHERE ArtNumber > 2118806;
> +----+-------------+----------------------------------+-------+---------------+---------+---------+------+----------+-------------+
> | id | select_type | table                            | type  |
> possible_keys | key     | key_len | ref  | rows     | Extra       |
> +----+-------------+----------------------------------+-------+---------------+---------+---------+------+----------+-------------+
> |  1 | SIMPLE      | 78168ea0a9b3b513a1f2d39b559b406e | range |
> PRIMARY       | PRIMARY | 8       | NULL | 31868953 | Using where |
> +----+-------------+----------------------------------+-------+---------------+---------+---------+------+----------+-------------+
> 1 row in set (0.18 sec)
>
>
> Partitioning should help from what I am reading currently... Just not
> sure about a few things just yet.
>
>
>
Try this

SELECT ArtNumber, MessageID FROM 78168ea0a9b3b513a1f2d39b559b406e WHERE
ArtNumber=(SELECT MIN(ArtNumber) FROM 78168ea0a9b3b513a1f2d39b559b406e
WHERE ArtNumber>2118806)


-- 
INTER
CORRADO PANDIANI
Web Project Manager / DBA
F.C. Internazionale Milano S.p.A.
C.so Vittorio Emanuele II, 9
20122 Milano, Italy
TEL +39 027715 551
www.inter.it

IMPORTANT: The contents of this email and any attachments are
confidential. They are intended for the named recipient(s) only. If you
have received this email by mistake, please notify the sender
immediately and do not disclose the contents to anyone or make copies
thereof.

Reply via email to