Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何加速这个maxmind db查询?_Php_Mysql - Fatal编程技术网

Php 如何加速这个maxmind db查询?

Php 如何加速这个maxmind db查询?,php,mysql,Php,Mysql,我们目前正在使用此查询搜索我们在本地托管的maxmind db: $db_result = mysql_query("select countryCode from example_table where $num BETWEEN beginIpNum AND endIpNum LIMIT 1"); 当我们从页面中删除查询时,它的加载速度快了几乎一秒(大约0.7到0.8秒) 我们真的可以利用这段时间 如何改进这一点 将代码调整到mysqli是否会提高速度?索引是提高查询执行速度的最佳技术。wh

我们目前正在使用此查询搜索我们在本地托管的maxmind db:

$db_result = mysql_query("select countryCode from example_table where $num BETWEEN beginIpNum AND endIpNum LIMIT 1");
当我们从页面中删除查询时,它的加载速度快了几乎一秒(大约0.7到0.8秒) 我们真的可以利用这段时间

如何改进这一点


将代码调整到mysqli是否会提高速度?

索引是提高查询执行速度的最佳技术。where中使用的列应编入索引,这将更快地返回结果。 因此,分别在beginIpNum和endIpNum字段上应用索引。 有关sql索引的详细信息,请参见 请参考下面的链接

快速“修复”是确保您拥有适当的覆盖索引:

on example_table (beginIpNum, endIpNum, countryCode)


使用mysql命令行客户端(或SQLYog等)对数据库进行查询测试,以确定时间,并验证SQL语句是否使用了索引(解释).

表中是否有
beginUpNum
endIpNum
的索引?步骤1:确保有正确的瓶颈,并正在调整正确的内容。从等式中抛出PHP,直接对数据库运行查询。如果查询本身很慢,那么通过切换客户机库不会获得任何速度改进。