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

ACCESS的真假:四、"SELECT * INTO 工作表 FROM 临时表&quo

程序员文章站 2022-04-14 16:46:24
...

下面这个贴子中讨论了很多ACCESS中的一些猜想假设。 Access或其它数据库操作效率问题.欢迎讨论 http://topic.csdn.net/u/20090514/10/a93475bd-e67e-45c8-aa1e-87168ba36d02.html#replyachor 引用 55 楼 wwwwb 的回复:: create table是用什么方法?我一般是

下面这个贴子中讨论了很多ACCESS中的一些猜想假设。

Access或其它数据库操作效率问题.欢迎讨论

http://topic.csdn.net/u/20090514/10/a93475bd-e67e-45c8-aa1e-87168ba36d02.html#replyachor

引用 55 楼 wwwwb 的回复::
create table是用什么方法?我一般是将空的工作表另存为一个临时表,
用SELECT * INTO 工作表 FROM 临时表 方法建立,这种方法比delete from table
还要慢?
这种方法的局限是如果有表间关系是不能删除的。

当看到这个猜想的时候,感觉比较怀疑。因为 select * into newtable from oldTable,ACCESS需要先从oldTable得到所有字段的定义,然后才能进行表的创建。如果猜想成立,就说明ACCESS还有一套什么机制可以直接在底层对表的结构进行访问。但select 可以是任意的查询,这样也不太可能啊。 于是,依然做个简单的试验来难证一下这个猜想。

新建空 t.mdb ,然后创建一个模块,代码如下。

步骤一:运行 ti()创建一个原表 table2 以供后面的 select * into newtable from oldTable 使用。
步骤二:运行 t() 结果如下。
t1 start. 5/23/2009 3:06:54 PM
t1 end . 5/23/2009 3:07:03 PM
t2 start. 5/23/2009 3:07:17 PM
t2 end . 5/23/2009 3:07:29 PM

t1() 9s , t2() 12s

试验结论: 猜想不成立