access数据库-把一个40W的表分成8份速度有变化吗?

access数据库-把一个40W的表分成8份速度有变化吗?,第1张

本问题是Access数据库里表的记录数多少对运算速度是否有影响。其核心是Access的运算极限。

Access数据库属于小型数据库,它是有极限的,但极限不是记录数的多少,我自建设的Access数据库,单表有140多万条记录,运行自如。所以40w的表是否拆分,对实际运算速度没有什么影响。Access的极限是整个数据库的大小,达到1G的时候就会速度减慢,达到2G的时候速度不能容忍。

其次,有人也与我提起excel,excel可作为微型数据库,虽然它号称可以容纳104万条记录,但实际运算中它的极限是记录达到1千条,速度变慢,达到2千条,我已经不能容忍了。见仁见智吧。

至于影响数据库速度慢的原因,一个是表的设计,表关系结构;另一个是查询方法。我曾经试过做了10多层的查询嵌套,速度很慢,后来改写成简单语句,就提高速度了。

确实当后台数据达到1g(其实随着大家对速度的最求,我后台速度达到300M以上就不能容忍了),可以向更大型的数据库要资源。例如:MSSQL server。我现在搭建了前台Access+后台 sql server的数据库。后台的极限只跟服务器的硬盘有关,前台Access就无极限问题了,而且界面更方便友好,解决了Access数据库大小极限问题。有关这个搭建方法可以参考某培训公司网站(有免费资源,详见链接http://www.accessoft.com/)。

再分享个人的心得——大量数据运算如何提升速度的解决方案供大家参考。当每次执行查询,如果都要动用上千条记录进行相互运算的时候,这个不是选择什么数据库软件可以突破速度瓶颈的问题,而是查询方法问题。在大数据处理时,我会每晚对大量数据先进行预计算(自动的作业),记录到临时表中。第二天查询的时候,只要对临时表做简单读取和对新数据进行少量运算即可。

关于多表查询,可以用select ……from……Union (all) select …… from ……,注意表字段前后要一致。

mysql数据库

在系统上是以一个文件夹的形式出现的,你创建了ac数据库,那么在磁盘上就会出现ac的目录,而ac数据库的全局配置则是ac文件夹中的db.opt文件来管理。

mysql的

数据文件

在datadir下,你在数据库中执行

show

variables

like

'%datadir%'就会显示

数据库文件

的路径,你可以找到ac文件夹。

1.

MySQL

客户端键入如下命令:

show

global

variables

like

"%datadir%"

2.

MySQL

的数据文件就存放在Data目录。

扩展资料

给定mysql_stmt_init()返回的语句句柄,准备字符串查询指向的SQL语句,并返回状态值。字符串长度应由"length"参量给出。字符串必须包含1条SQL语句。不应为语句添加终结用分号('')或\g。

通过将问号字符"?"嵌入到SQL字符串的恰当位置,应用程序可包含SQL语句中的一个或多个参数标记符。

标记符仅在SQL语句中的特定位置时才是合法的。例如,它可以在INSERT语句的VALUES()列表中(为行指定列值),或与WHERE子句中某列的比较部分(用以指定比较值)。但是,对于ID(例如表名或列名),不允许使用它们,不允许指定二进制 *** 作符(如等于号"=")的 *** 作数。后一个限制是有必要的,原因在于,无法确定参数类型。

一般而言,参数仅在DML(数据 *** 作语言)语句中才是合法的,在DDL(数据定义语言)语句中不合法。执行语句之前,必须使用mysql_stmt_bind_param(),将参数标记符与应用程序变量绑定在一起。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6642036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存