我刚刚将Access Db转换为mysql(使用Access作为前端,mysql作为后端)
这是一个简单的4表数据库
我有一个Master表,还有3个链接表
因此,Access表单显示的数据来自:
主表将始终是一行,但是所有链接表(“详细信息”表)可以具有任意数量的记录,通常每个主记录的每个详细信息表中大约10-30行。
一切运行良好,但是在检查Mysql Administrator Health> Connection Health> SQL查询数时,每次在主记录页之间移动时,查询数会跳转到10(查询)。
我在自己的笔记本电脑上运行它,我担心当我在工作服务器中同时使用100多个用户时,这将成为一个问题(性能)。
有人可以建议Mysql Admin报告的这么高的“查询数量”是否有问题? 出于性能目的,哪个号码被认为是“危险的”? 我的想法是拥有一个快速运行的系统,所以我想避免对数据库进行太多查询 我也不明白为什么(例子)当总共只有4个表时它显示7个查询...每个表只有一行被显示
任何想法/意见将不胜感激 Access前端是否可以更改某些内容以降低查询次数?
非常感谢
答案 0 :(得分:0)
这10个查询可能不需要很长时间,而且它们很可能是顺序的。我怀疑100个用户会遇到问题,因为他们不会同时运行查询。即使这样,mysql也可以承受相当大的负担。
我不确定Access内部发生了什么。 “查询”可以是几乎任何东西(即元数据),而不仅仅是对表中记录的查询。例如,获取表中记录的总数以显示类似“显示23个1,000”的内容。如果访问对每个表执行此操作,那么这是额外的4个查询,只留下3个以获取实际数据。
答案 1 :(得分:0)
很难确定,因为它取决于很多东西,如服务器的内存,CPU和查询的复杂性,但......
假设子表单的查询直接链接到主表(带有索引的id字段),并且不需要join
和其他表(因为你只有4个表),我认为你可以运行没有问题,因为查询的数量不是太高。
作为一个例子,几年前我有一台旧机器(Athlon XP1600只有512MB或1GGB RAM)运行mysql并为20个用户提供文件。大多数查询都是小型存储过程,主要使用20个表,但返回了很多行(对于最常用的查询,通常在2000左右)。一切都很快。这个旧系统在2个月内运行了1400万次查询(平均每分钟700次),所以我认为你会好的。
无论如何,如果你有办法进行部分测试,那将是最好的选择。例如,您可以使用一个小脚本在几台机器的循环中查询数据库。