萌新求解:数据关联查询效率低下问题

如题,本人不才,入行半年左右,现在为某企页做后管系统网站,持久层用的Spring-Mybatis,在开发过程中,发现了如下问题,如图:
图片说明
产品类型显示的是ID,非常不直观,我希望它显中文名称,于是在逻辑层做了修改:查询每条维修记录后,都要再根据产品类型ID去产品类型表里查它的中文名称,(在实体类Dto中添加中文名字段)一并传送到前端。这样一来问题是解决了,但是效率很低下,每次查询都要多花1秒左右。
图片说明
后来尝试直接修改SQL进行表关联查询,以及使用MyBatis的的关联查询,改善效果也不明显。
请问有没有一种类似“常量池”的技术,比如:我拿ID=1查询到对应产品类型的中文名,下次再拿ID=1来查询就不走数据库直接从缓存中取出来返回给我。(数据库用的MySql)

3个回答

定义一个键值对变量存放这个产品类型,去取中文名时如果不存在主键则从表中查询数据并存到键值对变量中
如果修改了产品类型也刷新一次键值对数据

这是比较典型的1+N次查询问题 解决办法是定义一个Map集合 key为你类型的id , value为你类型的名字,然后在需要的地方直接get取值 传入的参数是你要的类型id

在这之前要先查询所有的类型id和名称 然后全部放在map里边

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问