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=arch...@jab.org

Reply via email to