往数据库里添加数据,update和insert哪个效率高?

lotus_dr 2008-03-06 12:26:04
我现在用的是update的add,但是表里面数据已多达100万条,再添的话效率很慢,不知道改为insert会不会好点呢
...全文
3116 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cometing 2012-08-28
  • 打赏
  • 举报
回复
回帖是一种美德!传说每天回帖即可获得 10 分可用分!
  • 打赏
  • 举报
回复
insert是添加数据
update可以更新数据也可以添加数据
qjgdftxmu 2008-03-15
  • 打赏
  • 举报
回复
update和insert有什么区别吗?
liuyann 2008-03-09
  • 打赏
  • 举报
回复

压缩修复一下MDB:

--> “工具”菜单
--> 数据库实用工具
--> 压缩和修复数据库
== 思想重于技巧 ==
OracleRoob 2008-03-09
  • 打赏
  • 举报
回复
不能一概而论,视具体情况而定
smartcatiboy 2008-03-08
  • 打赏
  • 举报
回复
我想update,如果主键和索引不更新的化,应该比较快

insert要重加索引,可能要慢点。
liuyann 2008-03-08
  • 打赏
  • 举报
回复

以下摘自 Microsoft Access Help


压缩和修复 Access 文件
为确保实现最佳性能,应该定期压缩和修复 Microsoft Access 文件。而且,如果在用户使用 Access 文件过程中发生了严重的问题,并且 Access 试图恢复时,用户会收到一条消息,告知修复操作已取消,应该压缩并修复文件。

注意 压缩位于使用 NTFS 文件系统的卷上的 Microsoft Access 文件时,Access 会删除已有文件并用压缩文件进行替代。接着,Access 将默认文件权限应用于新的文件。如果文件是 Access 数据库,请使用 Access 用户级安全机制而不是文件级权限。否则,请使用文件夹权限。有关 NTFS 文件系统和文件夹权限的其他信息,请参阅 Windows“帮助”。

为了压缩和修复 Access 数据库,用户必须对该 Access 数据库具有“打开/运行”和“以独占方式打开”的权限。

压缩和修复当前 Access 文件

如果要压缩位于服务器或共享文件夹上的共享 Microsoft Access 数据库,请确保没有其他用户打开它。
在“工具”菜单上,指向“数据库实用工具”,然后单击“压缩和修复数据库”。
压缩和修复未打开的 Access 文件

关闭当前 Microsoft Access 文件。如果要压缩位于服务器上或共享的文件夹中的共享数据库时,请确保没有其他用户打开它。
在“工具”菜单上,指向“数据库实用工具”,然后单击“压缩和修复数据库”。
在“压缩数据库来源”对话框中,指定要压缩的 Access 文件,然后单击“压缩”。
在“将数据库压缩为”对话框中,为压缩的 Access 文件指定名称、驱动器和文件夹。
单击“保存”。
如果使用相同的名称、驱动器和文件夹,并且成功地压缩了 Access 数据库或 Access 项目,Microsoft Access 就用压缩的版本替换原文件。

每次关闭 Access 文件时对其进行压缩和修复

如果虽然关闭了共享数据库,但仍有其他用户打开该数据库,则不会压缩数据库。

打开想要 Microsoft Access 自动压缩的 Access 数据库或 Access 项目。
在“工具”菜单上,单击“选项”。
单击“常规”选项卡。
选中“关闭时压缩”复选框。
注释 可通过按下 Ctrl+Break 或 Esc 来中止压缩和修复过程。

== 思想重于技巧 ==
liuyann 2008-03-08
  • 打赏
  • 举报
回复

我现在用的是update的add,但是表里面数据已多达100万条,再添的话效率很慢,不知道改为insert会不会好点呢

没什么差别,两者都是提交给数据库去处理.
压缩一下你的MDB文件或许会快一点儿
== 思想重于技巧 ==
OracleRoob 2008-03-08
  • 打赏
  • 举报
回复

Public Sub test()

Dim strSQL As String
Dim Cnn As New ADODB.Connection

Set Cnn = CurrentProject.Connection

strSQL = " insert into 表名(字段1,字段2,字段3) values(1,2,3)"
Cnn.Execute strSQL

End Sub
onthebox 2008-03-07
  • 打赏
  • 举报
回复
姐,其实在数据库中最重要的是如何建立合理的索引,约束,就像3楼说的
在C#代码中执行SQL 语句,性能的好坏还是数据库自己的事情

回帖是一种美德!传说每天回帖即可获得 10 分可用分!
lotus_dr 2008-03-06
  • 打赏
  • 举报
回复
不好意思 能不能写给个完整的参考啊 就是从数据库的连接开始 一步步怎么写的。。。
偶是新手 呵呵
OracleRoob 2008-03-06
  • 打赏
  • 举报
回复
insert into 表名(字段1,字段2,字段3)
values (1,2,3)
OracleRoob 2008-03-06
  • 打赏
  • 举报
回复
追加数据的效率与表的字段个数、索引的个数、数据量大小等都有关系
lotus_dr 2008-03-06
  • 打赏
  • 举报
回复
为什么呢?如果用insert 程序怎么写啊
XJY123 2008-03-06
  • 打赏
  • 举报
回复

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧