>Description:
        Selecting for a number in a char table is REALLY slow.

>How-To-Repeat:
        Large table, main index on column 'id' varchar(100).

        mysql> select id from ticketid where id = '15473';
        Empty set (0.00 sec)

        mysql> select id from ticketid where id = 15473;
+--------------------------+
| id                       |
+--------------------------+
| [EMAIL PROTECTED] |
| [EMAIL PROTECTED] |
| [EMAIL PROTECTED] |
+--------------------------+
3 rows in set (3 min 49.81 sec)

        mysql> select id from ticketid where id = 15473 and id like '15473%';
+--------------------------+
| id                       |
+--------------------------+
| [EMAIL PROTECTED] |
| [EMAIL PROTECTED] |
| [EMAIL PROTECTED] |
+--------------------------+
3 rows in set (4 min 6.83 sec) 

        Say what ???

mysql> explain select id,ticket,seq from ticketid where id = 15473 and id like 
'15473%';
+----------+------+---------------+------+---------+------+--------+----------+
| table    | type | possible_keys | key  | key_len | ref  | rows   | Extra    |
+----------+------+---------------+------+---------+------+--------+----------+
| ticketid | ALL  | PRIMARY       | NULL |    NULL | NULL | 406867 | where used
+----------+------+---------------+------+---------+------+--------+----------+
1 row in set (0.09 sec)

mysql> explain select id,ticket,seq from ticketid where id like '15473%';
+----------+-------+---------------+---------+---------+------+------+--------+
| table    | type  | possible_keys | key     | key_len | ref  | rows | Extra  |
+----------+-------+---------------+---------+---------+------+------+--------+
| ticketid | range | PRIMARY       | PRIMARY |     100 | NULL |    2 | where used
+----------+-------+---------------+---------+---------+------+------+--------+
  1 row in set (0.06 sec)

>Fix:
        Does the SQL standard really require that you go through the table
        and evaluate its contents numerically?

        The 'like' operator should be able to use the index. Why doesn't it?


>Submitter-Id:  <submitter ID>
>Originator:    Matthias Urlichs
>Organization:
 noris network AG
>MySQL support: licence
>Synopsis:      Bad use of index
>Severity:      serious
>Priority:      medium
>Category:      mysql
>Class:         sw-bug
>Release:       mysql-3.23.34 (noris network MySQL)

>Environment:
        
System: Linux play.smurf.noris.de 2.4.0s-noris-t5-2 #58 SMP Wed Jul 19 10:24:19 CEST 
2000 i686 unknown
Architecture: i686

Some paths:  /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/specs
gcc version 2.95.3 19991030 (prerelease)
Compilation info: CC='gcc'  CFLAGS=''  CXX='c++'  CXXFLAGS='-DTHREAD_SAFE_CLIENT 
-felide-constructors -fno-exceptions -fno-rtti'  LDFLAGS=''
LIBC: 
lrwxrwxrwx   1 root     root           13 Jun  8  2000 /lib/libc.so.6 -> libc-2.1.3.so
-rwxr-xr-x   1 root     root      4118299 Sep 20  1999 /lib/libc-2.1.2.so
-rwxr-xr-x   1 root     root      4123003 Jun  8  2000 /lib/libc-2.1.3.so
-rw-r--r--   1 root     root     19203634 Jun  8  2000 /usr/lib/libc.a
-rw-r--r--   1 root     root          178 Jun  8  2000 /usr/lib/libc.so
-rwxr-xr-x   1 root     root      2042654 Oct 27 17:09 /usr/lib/libc-client.a
Configure command: ./configure  --prefix=/usr --with-debug --enable-shared 
--without-mit-threads --libexecdir=/usr/sbin --localstatedir=/var/mysql 
--enable-thread-safe-client --sysconfdir=/etc --datadir=/usr/share 
--enable-large-files --without-readline --with-mysqld-user=mysql 
--with-unix-socket-path=/var/run/mysql.socket --enable-strcoll '--with-comment=noris 
network MySQL' --with-docs --with-bench --without-berkeley-db --without-bench


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