欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

多表联合查询方案

程序员文章站 2022-06-15 22:31:54
...
现在我是做一个功能,就是要从所有的凭证里查询数据,这些凭证是销售凭证这些,一共有7个凭证,14个表。请问大家,是联合查询好,还是有其它更好的方案。


回复讨论(解决方案)

按查询需求创建若干视图

按查询需求创建若干视图

其实我需要的就是从这几十个表中查询到的。你是说分几次查询吗?

按查询需求创建若干视图

一次性查询这些表,是不是效率会很慢。

你先翻阅数据库相关资料,弄明白什么是“视图”
于是你会知道
计算机数据库中的视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来*定义视图的查询所引用的表,并且在引用视图时动态生成。

由于视图在创建时就和设计的表和字段进行了关联,因此就不像普通查询那样翻来覆去的去找
这样自然也就快了

你说的视图的定义,我在网上搜索时,有看过很多遍了。其实我就是不明白,我们直接写SQL的表合并语句和在视图那里写有什么区别,如果在视图那里写只是因为SQL语句存在数据库方便调用的话,那我觉得视图没有多大的作用。不过你刚刚说“由于视图在创建时就和设计的表和字段进行了关联,因此就不像普通查询那样翻来覆去的去找
这样自然也就快了”。这个可能会提高查询的效率。

联合查询是数据库的基本用法, 不用太担心效率问题. 关键是你要建好合理的索引

联合查询是数据库的基本用法, 不用太担心效率问题. 关键是你要建好合理的索引
其实我要查询的这些表,是很少直接关联的。比如:销售凭证只和销售凭证明细有关联,收款凭证和它的明细有关联,像这种一对一对的表有7对这么多。我是要从这些凭证表中汇总一些信息。