以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]在ACCESS中用到视图会不会导致文件增大 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119989) |
-- 作者:chnfo -- 发布时间:2018/6/5 12:06:00 -- [求助]在ACCESS中用到视图会不会导致文件增大 使用ACCESS数据库,考虑到执行 in的效率比较低,所以改用inner join,在数据库中建立查询方便引用。 现在的问题: 1、在ACCESS中定义查询视图,会不会增加数据库文件的大小?如果数据库的表文件本身就很大,那增加查询表岂不是占用了空间? 2、在ACCESS中定义查询视图,一般不会加载条件,在foxtable中实际应用的时候,才会用到where,效率上会不会有影响?
|
-- 作者:有点甜 -- 发布时间:2018/6/5 12:15:00 -- 1、查询、视图,不会增加文件大小;
2、在数据库建视图,和在foxtable直接执行sql语句,没有太大的区别,只是你做成视图更容易调用一些而已。 |
-- 作者:chnfo -- 发布时间:2018/6/5 12:28:00 -- foxtable本身也有构建查询表的功能,相比较而言,因为加载到foxtable的时候,本身就已经用loadfilter过滤了一次。 那么在foxtable中构建的时候,查询的数据量会明显地小很多,会不会要快一点? 但从现在的数据来看,一个月就有差不多5W条数据,一年60万数据,三年180万行,都加载到客户端,恐怕客户端都承受不了。
[此贴子已经被作者于2018/6/5 12:28:17编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/5 12:30:00 -- 你执行视图查询的时候,不需要顾虑,即可。等同于你直接执行sql语句。 |
-- 作者:chnfo -- 发布时间:2018/6/5 13:50:00 -- 1、查询、视图,不会增加文件大小; ----确定吗?我刚才在access数据库中做操作。删除查询表之前是572K,删除了一个列数5列,行数639行的查询表,发现数据库文件变成了560K。说明在access数据库中增加查询表,应当是会增加数据库文件的大小的 又拿了个几十M的试了一下,好象是没啥影响。
[此贴子已经被作者于2018/6/5 14:25:29编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/5 15:56:00 -- 增加文件大小,只是记录一下sql语句等一些信息而已,和表数据有多少无关。 |
-- 作者:chnfo -- 发布时间:2018/6/5 19:18:00 -- 在ACCESS中定义"A查询",在FT中增加"A查询"的查询表 Dim bd2 As New GroupTableBuilder("X1",DataTables("A查询")) bd2.Filter = "查询条件" 感觉效率不高啊。是用法有问题吗?该如何改进呢? 现在大数据量的效率是个大问题。 |
-- 作者:有点蓝 -- 发布时间:2018/6/5 20:37:00 -- 1、添加合适的索引 2、大数据建议使用sqlserver、oracle等数据库
|
-- 作者:chnfo -- 发布时间:2018/6/6 9:09:00 -- 新的问题请教: 1、使用外部数据源时,用ft导出的access默认的主键是_identify,而且主键就是索引。而实际的数据业务,每个表都有自己的ID(36位字符) 2、那么,是否可以去access中取消_identify主键?这样做会有什么影响?尤其是以前的一个帖子,就是大数据量的保存的代码,印象中好象是用_identify作为判断字符的。
|
-- 作者:有点甜 -- 发布时间: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比较好。 |