Indexes  typically only work on the left-hand-side. Rewrite as
select * from ip_test where startNum <= 3061579775 and endNum >= 3061579775;

Magic will happen.


2010/11/9 wroxdb <wro...@gmail.com>

> Hello,
>
> I have a query below:
>
> mysql> select * from ip_test where 3061579775 between startNum and endNum;
> +------------+------------+---------+----------+------+--------+
> | startNum   | endNum     | country | province | city | isp    |
> +------------+------------+---------+----------+------+--------+
> | 3061514240 | 3061579775 | 中国    | 河南     |      | 联通   |
> +------------+------------+---------+----------+------+--------+
>
>
> the "desc" shows it isn't using the index:
>
> mysql> desc select * from ip_test where 3061579775 between startNum and
> endNum;
>
> +----+-------------+---------+------+-----------------+------+---------+------+--------+-------------+
> | id | select_type | table   | type | possible_keys   | key  | key_len
> | ref  | rows   | Extra       |
>
> +----+-------------+---------+------+-----------------+------+---------+------+--------+-------------+
> |  1 | SIMPLE      | ip_test | ALL  | startNum,endNum | NULL | NULL
> | NULL | 396528 | Using where |
>
> +----+-------------+---------+------+-----------------+------+---------+------+--------+-------------+
> 1 row in set (0.01 sec)
>
>
> the table structure is:
>
> CREATE TABLE `ip_test` (
>  `startNum` double(20,0) default NULL,
>  `endNum` double(20,0) default NULL,
>  `country` varchar(50) NOT NULL default '',
>  `province` varchar(50) NOT NULL default '',
>  `city` varchar(50) NOT NULL default '',
>  `isp` varchar(100) default NULL,
>  KEY `startNum` (`startNum`),
>  KEY `endNum` (`endNum`)
> ) ENGINE=MyISAM DEFAULT CHARSET=utf8
>
>
>
> please help, thanks in advance.
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=vegiv...@tuxera.be
>
>


-- 
Bier met grenadyn
Is als mosterd by den wyn
Sy die't drinkt, is eene kwezel
Hy die't drinkt, is ras een ezel

Reply via email to