查找数字是否在MySQL数据库中不同字段中的两个数字之间

Mar*_*cus 12 php mysql

如何通过PHP格式化MySQL数据库上的查询,以查找IP地址是否介于两个不同字段中的两个数字之间?

要查找的IP地址的数字表示:

1265631252
Run Code Online (Sandbox Code Playgroud)

数据库格式:

 IP FROM      IP TO       REGISTRY  ASSIGNED   CTRY CNTRY COUNTRY
"1265631232","1265893375","arin","1152835200","US","USA","United States"
"1265893376","1265958911","arin","1149120000","US","USA","United States"
"1265958912","1266024447","arin","1149120000","US","USA","United States"
"1266024448","1266089983","arin","1162425600","US","USA","United States"
Run Code Online (Sandbox Code Playgroud)

Jor*_*ing 33

像这样的查询:

SELECT * FROM your_table WHERE 1265631252 BETWEEN `IP FROM` AND `IP TO`;
Run Code Online (Sandbox Code Playgroud)

将返回所提供的数字介于IP FROM和之间的行IP TO.

  • 在我的测试(MySQL)中,进行类似的IP地址查找,这个"之间"版本的速度是2x,因为这个版本(80-83毫秒)是慢速的(160-170毫秒)"从your_table中选择*,其中ip_from <= 1265631252和ip_to> = 1265631252;" ip_from上的主键和在ip_to上构建的唯一索引在测试时就位. (2认同)