欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

递归查询mysql数据库设计

发布时间:2025/4/16 数据库 5 豆豆
生活随笔 收集整理的这篇文章主要介绍了 递归查询mysql数据库设计 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

国标地图   省-市-区-县-镇-村全部数据为711892条数据,

如果要查询到全国省市区镇村的数据,数据库表结构设计不合理的情况下很有可能出现死查询的情况,

最开始的表结构如下

code

parent_code

namefullnamelevel
110北京市bjs0
110111市辖区sxq1
1101011101东城区dcq2
1101021101西城区xcq2
1101051101朝阳区zyq2

 

 

 

 

 

 

 

现在查询北京下面的市[区县]信息就需要通过parent_code来联系父类信息,在加入索引的情况下,也会造成很差的性能问题,查询全国省市区耗时在2.5s左右,

如果在全国70w+的数据情况下,这样的设计结构查询就会造成死查询,为了避免这种情况,我对表从新设计了一下如下 

 

 

fullnamenamesearche_keylevel
bjs北京市110
sxq市辖区11.11011
dcq东城区11.1101.1101012
xcq西城区11.1101.1101022
zyq朝阳区11.1101.1101052

 

 

 

 

 

 

这样设计的情况下,search_key承担了主键Key的作用,还承担了关联上下级关系的作用,level区别当前的递归级别,在给searche_key,name,level等列添加索引,

这样递归查询的性能将是极大的提升,内网查询的效率为1000次平均在3-4毫秒左右。

 

转载于:https://www.cnblogs.com/light-zhang/p/8358472.html

总结

以上是生活随笔为你收集整理的递归查询mysql数据库设计的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。