开发者社区> 问答> 正文

MySQL如何优化下面IP表的查询?

ip_country(start, end, country) 其中begin与end是联合主键,数据大致如下:

34620416 34620927 SE
34910976 34911231 US
34912512 34912767 CN
35054080 35054591 GB

当前查询语句如下:select country from ip_country where '35054180' between start and end limit 1
查询时间有30ms之多,应该是仅用到begin_end主索引的begin部分吧?
有其它查询或者数据存储方式来进一步提高速度?

展开
收起
落地花开啦 2016-02-08 17:54:17 2331 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    IP地址用整数试试,也不用between,直接用>或者<再limit1,然后自己检查在不在end前。

    2019-07-17 18:39:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像