英文:
Access Database using linked tables maximum size
问题
- 在这种情况下,通过链接的表,我能否绕过Access的最大阈值?
- Access或MySQL服务器的最大阈值将是多少?
谢谢
英文:
I created an *.mdb file (Access 2002 - 2003 file format) and I added in Access (from External Data tab - Excel) an ODBC DataBase
(that I configured in ODBC DataSource Administrator 32-bit to point to a MySQL database server) using "Link to the datasource by creating a linked table".
I know that an Access file can be max. 2 GB.
Question:
- In this situation with the linked tables, can I bypass the Access maximum threshold?
- What will be the max. threshold, that from Access or from MySQL server?
Thanks
答案1
得分: 3
由于链接的数据未存储在Access中,因此不适用此限制。
但是,还有其他限制,如Access规格中所列。例如,表中字段的数量(255)或查询返回的列数和每行的字节数。
英文:
Since the linked data is not stored in Access, this limit does not apply.
There are, however, other limits as listed in Access specifications. E.g. number of fields in a table (255) or the number of columns and bytes per rows returned in a query.
答案2
得分: 0
根据您提供的内容,以下是已翻译的部分:
"如上所述,由于Access不再是数据库,因此不再存在这样的限制。
即使您将表单直接绑定到链接的表格,也不会存在限制。
因此,这是一个基于链接表的表单,链接表格有1000万行数据,(SQL服务器显示该表格大小超过2吉字节)。
请注意速度也是瞬间的,表单直接绑定到包含1000万行数据的链接表格上。没有视图、没有存储过程或其他任何东西。只是在这里使用了一个简单的链接表格。
请注意,带有“筛选”条件的表单瞬间打开,而且没有任何特殊的代码,只是使用打开表单命令的“常规”使用“where”子句。
按钮背后的代码如下:
Private Sub Command5_Click()
DoCmd.OpenForm "frmBigHistory", , , "id = " & Text2
End Sub
现在,如果我打开那个绑定到表格的表单而没有筛选条件?
它瞬间加载,但如果我决定“移到”最后一条记录,那么会发生很大的延迟,但表单(大约25秒)会加载整个数据集。
所以,这就是实际情况:
(表单一开始加载整个1000万数据集,然后我导航回到第一条记录,再到最后一条记录。
然后我展示了相同的带有筛选条件的表单(有1000万行数据)被启动,Access然后只使用上面的代码示例从SQL服务器中获取一条记录。
在这个示例中,数据库的大小超过2吉字节(大约7吉字节)。
而其中一个表格的大小超过2吉字节。"
英文:
As noted, since Access is not the database anymore, then such limits don't exist.
EVEN if you bind the form directly to a linked table, the limit does not exist.
So, here is a form based on a linked table, and the linked table has 10 million rows, (and SQL server shows that the ONE table is more then 2 gigs in size.
Note how the speed is also instant, and the form is bound DIRECTLY to that linked table with 10 million rows. There are no views, no stored procedures or anything. Just a simple linked table is used here.
Note how the form with the "filter" opens instant, and does so without any special code, but a "common" used "where" clause of the open form command.
the code behind the button is this:
Private Sub Command5_Click()
DoCmd.OpenForm "frmBigHistory", , , "id = " & Text2
End Sub
Now, if I open that form bound to the table without a filter?
It loads instant, but if I decide to "move to" the last reocrd, then a BIG dealy occures, but the form (in about 25 seconds) does and will load the whole data set.
so, here is this in effect
(the form starts out with the WHOLE 10 million data set loaded, and I navigate back to 1st record, then last.
Then I show the same form (with 10 million rows) being launched with a filter - and Access then ONLY pulls the ONE record from SQL server with above code example.
So, in this example, the database is more then 2 gigs (it is about 7 gigs in size).
And that one table is over 2 gigs in size.
答案3
得分: -2
Access (*.mdb) 文件的最大文件大小为 2 GB。将表链接到 MySQL 数据库不会改变这一限制。MySQL 数据库的最大大小取决于其配置,但在 Access 中的链接表仍然受限于 2 GB。如果你处理大量数据,建议将数据库拆分为较小的数据库,或考虑使用更强大的数据库管理系统,如Microsoft SQL Server 或 MySQL。
英文:
The maximum file size of an Access (*.mdb) file is 2 GB. Linking tables to a MySQL database does not change this limit. The maximum size of a MySQL database depends on its configuration, but a linked table in Access will still be limited to 2 GB. If you're dealing with a large amount of data, it's recommended to split the database into smaller databases or consider using a more robust database management system like Microsoft SQL Server or MySQL.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论