>Description:
        
        I am trying to get the next record given a key (numeric or string),
        What is the best way to do this.  I am currently using:

    SELECT * from wk004.slsf01 where ___RecNo > 3000 limit 1;

table   type    possible_keys   key     key_len ref     rows    Extra
slsf01  range   PRIMARY PRIMARY 4       NULL    349     where used

    The explain result for this command show's rows accessed as 349,
    there are 3349 records in the file. If I use:

    SELECT * from wk004.slsf01 where ___RecNo > 0 limit 1;

        explain shows 3349 rows.

table   type    possible_keys   key     key_len ref     rows    Extra
slsf01  range   PRIMARY PRIMARY 4       NULL    3349    where used

        To me this indicates that the more records in the file the slower
    this statement will be.  Timing results with 3000 vs 100000 records 
    verify this.

    Why is rows not 1 in this case?
    Is there a different SELECT command I should be using?

        ___RecNo is an AUTO-INCREMENT BIGINT field, and is the only member of the
   PRIMARY key, sorted ASCENDING. 

   The problem occurs on any index I use (string or INT), single or multiple
   keys.

   Occurs on Linux and SCO Unix.
    
>How-To-Repeat:
    EXPLAIN SELECT * from wk004.slsf01 where ___RecNo > 3000 limit 1;
    EXPLAIN SELECT * from wk004.slsf01 where ___RecNo > 0 limit 1;
>Fix:

>Submitter-Id:  jwythe
>Originator:    jww
>Organization: Silk Systems Inc.
>MySQL support: none
>Synopsis:      SELECT using > and limit not optimized.
>Severity:      serious
>Priority:      medium
>Category:      mysql
>Class:         support
>Release:       mysql-3.23.37 (Source distribution)
>Server: /usr/local/bin/mysqladmin  Ver 8.19 Distrib 3.23.37, for pc-sco3.2v5.0.4 on 
>i386
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          3.23.37
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /tmp/mysql.sock
Uptime:                 11 min 1 sec

Threads: 1  Questions: 1  Slow queries: 0  Opens: 5  Flush tables: 1  Open tables: 0 
Queries per second avg: 0.002
>Environment:
    Touch Intel PII-300Mhz, Redhat 6.2 Linux/SCO Openserver 5, same
System: SCO_SV sysdev 3.2 2 i386


Some paths:  /bin/make /usr/local/bin/gcc /bin/cc
GCC: Reading specs from /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/specs
gcc version 2.95.2 19991024 (release)
Compilation info: CC='gcc'  CFLAGS=' '  CXX='c++'  CXXFLAGS=''  LDFLAGS=''
LIBC: 
lrwxrwxrwx   1 root     sys           36 May 19  1998 /lib/libc.a -> 
/opt/K/SCO/unixds/5.1.0Ha/lib/libc.a
lrwxrwxrwx   1 root     sys           37 May 19  1998 /lib/libc.so -> 
/opt/K/SCO/unixds/5.1.0Ha/lib/libc.so
lrwxrwxrwx   1 root     sys           40 May 19  1998 /usr/lib/libc.a -> 
/opt/K/SCO/unixds/5.1.0Ha/usr/lib/libc.a
lrwxrwxrwx   1 root     sys           41 May 19  1998 /usr/lib/libc.so -> 
/opt/K/SCO/unixds/5.1.0Ha/usr/lib/libc.so
lrwxrwxrwx   1 root     root          41 May 13  1998 /usr/lib/libc.so.1 -> 
/opt/K/SCO/Unix/5.0.4Eb/usr/lib/libc.so.1
Configure command: ./configure  --with-low-memory


---------------------------------------------------------------------
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