为什么不建议在工作中使用连表查询?
Singwa答:最近在swoole课程群里面有小伙伴在咨询有关连表查询的一些事情,其实连表查询在实际工作中,特别是中型以上的公司基本不建议用连表查询的 原因我汇总如下:
- 你要做连表查询的话,后续不太好维护
- 当数据大的时候连表查询很影响性能,除非万不得已的时候才用连表
场景:比如你要查询文章的信息,并且是分页列表展示,然后文章里面还有其他的内容比如栏目等,但是文章表里面的栏目肯定存的是栏目表的主键ID, 但是在平台中展示文章列表的时候肯定是需要展示栏目的名称的,那这个时候很多工程师基本是使用关联连表查询比比如 left join等的。但是实际上不建议这样来做。 作法如下:
- 取出文章的内容(比如第一页的时候 展示 20条内容) ,放到一个数组里面;
- 并且把这数据中栏目id放到 另外一个数组里面 需要去重处理, 然后在拿到这些id 去栏目表里面 in查询下,1条sql。不是多个sql
- 查询后组织下栏目的数据 id=>name的关系
- 在列表展示的时候 循环文章的数组、展示栏目的时候就可以拿到3中的对应关系对上。