关闭

ACCESS的真假:四、"SELECT * INTO 工作表 FROM 临时表" 比 "CREATE TABLE 工作表 (...)" 速度快?

标签: 工作tableaccessintegerstringdelete
3723人阅读 评论(0) 收藏 举报
分类:

下面这个贴子中讨论了很多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

 

试验结论: 猜想不成立

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:575058次
    • 积分:2940
    • 等级:
    • 排名:第12806名
    • 原创:30篇
    • 转载:1篇
    • 译文:0篇
    • 评论:256条
    文章分类
    最新评论