0

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

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

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

关于如何改善这一点的想法?

将代码改编为 mysqli 会提高速度吗?

4

2 回答 2

0

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

于 2012-08-14T18:21:14.513 回答
0

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

on example_table (beginIpNum, endIpNum, countryCode)

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

于 2012-08-14T18:28:56.397 回答