我如何加快这个maxmind db查询?

时间:2012-08-14 17:53:07

标签: php mysql

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

$db_result = mysql_query("select countryCode from example_table where $num BETWEEN beginIpNum AND endIpNum LIMIT 1");

当我们从页面中删除查询时,它加载的速度快了近一秒(大约0.7秒到0.8秒) 我们真的可以利用那段时间。

关于如何改进这个的想法?

将代码调整为mysqli可以提高速度吗?

2 个答案:

答案 0 :(得分:0)

索引是提高查询执行速度的最佳方法。在哪里使用的列应该被索引,这将更快地返回结果。 因此,分别在beginIpNum和endIpNum字段上应用索引。 有关sql索引的更多信息 请参考以下链接 http://beginner-sql-tutorial.com/sql-index.htm

答案 1 :(得分:0)

快速“修复”是为了确保你有一个合适的覆盖索引:

on example_table (beginIpNum, endIpNum, countryCode)

使用mysql命令行客户端(或SQLYog等)对数据库进行测试,以进行计时,并验证您的SQL语句是否正在使用索引(EXPLAIN)。