Foxtable(狐表)用户栏目专家坐堂 → [求助]在ACCESS中用到视图会不会导致文件增大


  共有2904人关注过本帖树形打印复制链接

主题:[求助]在ACCESS中用到视图会不会导致文件增大

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]在ACCESS中用到视图会不会导致文件增大  发帖心情 Post By:2018/6/5 12:06:00 [只看该作者]

使用ACCESS数据库,考虑到执行 in的效率比较低,所以改用inner join,在数据库中建立查询方便引用。

现在的问题:
1、在ACCESS中定义查询视图,会不会增加数据库文件的大小?如果数据库的表文件本身就很大,那增加查询表岂不是占用了空间?
2、在ACCESS中定义查询视图,一般不会加载条件,在foxtable中实际应用的时候,才会用到where,效率上会不会有影响?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/5 12:15:00 [只看该作者]

1、查询、视图,不会增加文件大小;

 

2、在数据库建视图,和在foxtable直接执行sql语句,没有太大的区别,只是你做成视图更容易调用一些而已。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/5 12:28:00 [只看该作者]

foxtable本身也有构建查询表的功能,相比较而言,因为加载到foxtable的时候,本身就已经用loadfilter过滤了一次。
那么在foxtable中构建的时候,查询的数据量会明显地小很多,会不会要快一点?
但从现在的数据来看,一个月就有差不多5W条数据,一年60万数据,三年180万行,都加载到客户端,恐怕客户端都承受不了。
[此贴子已经被作者于2018/6/5 12:28:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/5 12:30:00 [只看该作者]

你执行视图查询的时候,不需要顾虑,即可。等同于你直接执行sql语句。


 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/5 13:50:00 [只看该作者]

1、查询、视图,不会增加文件大小;
----确定吗?我刚才在access数据库中做操作。删除查询表之前是572K,删除了一个列数5列,行数639行的查询表,发现数据库文件变成了560K。说明在access数据库中增加查询表,应当是会增加数据库文件的大小的

又拿了个几十M的试了一下,好象是没啥影响。
[此贴子已经被作者于2018/6/5 14:25:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/5 15:56:00 [只看该作者]

增加文件大小,只是记录一下sql语句等一些信息而已,和表数据有多少无关。

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/5 19:18:00 [只看该作者]

在ACCESS中定义"A查询",在FT中增加"A查询"的查询表

Dim bd2 As New GroupTableBuilder("X1",DataTables("A查询"))  
bd2.Filter = "查询条件"

感觉效率不高啊。是用法有问题吗?该如何改进呢?
现在大数据量的效率是个大问题。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106080 积分:539499 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/5 20:37:00 [只看该作者]

1、添加合适的索引
2、大数据建议使用sqlserver、oracle等数据库

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/6 9:09:00 [只看该作者]

新的问题请教:
1、使用外部数据源时,用ft导出的access默认的主键是_identify,而且主键就是索引。而实际的数据业务,每个表都有自己的ID(36位字符)
2、那么,是否可以去access中取消_identify主键?这样做会有什么影响?尤其是以前的一个帖子,就是大数据量的保存的代码,印象中好象是用_identify作为判断字符的。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/6 9:32:00 [只看该作者]

以下是引用chnfo在2018/6/5 19:18:00的发言:

在ACCESS中定义"A查询",在FT中增加"A查询"的查询表

Dim bd2 As New GroupTableBuilder("X1",DataTables("A查询"))  
bd2.Filter = "查询条件"

感觉效率不高啊。是用法有问题吗?该如何改进呢?
现在大数据量的效率是个大问题。

 

如果要用 GroupTableBuilder,必须把数据加载进来才能用的。

 

尽量自己写sql语句处理吧,用queryBuilder比较好。


 回到顶部
总数 12 1 2 下一页