我们目前正在使用此查询来搜索我们在本地托管的maxmind数据库:
$db_result = mysql_query("select countryCode from example_table where $num BETWEEN beginIpNum AND endIpNum LIMIT 1");
当我们从页面中删除查询时,它加载的速度快了近一秒(大约0.7秒到0.8秒) 我们真的可以利用那段时间。
关于如何改进这个的想法?
将代码调整为mysqli可以提高速度吗?
答案 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)。