繁体   English   中英

mysql表中多次插入(50-100 +)而在线是一个好习惯吗?

[英]Multiple insert (50-100+) in mysql table while online is a good practice?

我正在处理一个情况,当我的系统在db表中动态插入多个条目时,它可能是1,2或者可能是100或者可能更多,这是使用ajax调用实现的,当插入时将向用户显示加载器图像做了这个动作。

所以,我的问题:这是一个很好的做法,让这个插入在线并让用户看看加载器图像,或者我们应该在某处收集数据,并在用户离线时使用cron作业....

请对此提出一些建议......

我会说这里的答案是“它取决于”。 如果您需要用户了解他们所做的数据更改,即他们可能希望查看数据库中所做的更改而不是“请等待CRON作业运行”通知,那么答案是“是” “你应该在线插入。

如果可以接受(从用户体验的角度来看)在稍后的时间点插入数据,即通过您描述的CRON作业离线,则可以接受离线运行更新。 虽然我个人只会在处理比您描述的数据量更大的数据时这样做。

如果插入的大小限制在大约100最大值,那么用户不必等待那么长时间使插入在线运行(尽管它确实依赖于插入的目标数据库)。 这里的一个建议,如果插入花费很长的时间(因此用户必须等待看装载机图像的同时)是研究为什么刀片这么长时间。 如果您调整插入以使其快速运行,那么您将获得两全其美:良好的用户体验和数据库中的正确状态。

希望有所帮助。

插入100行对数据库来说无关紧要。 它主要取决于这100行的出现率。 如果以并发方式接近数千行,或者行的内容非常大(有效地对网络或IO子系统施加压力),那么它可能成为问题。 但我不担心。

我假设实际加载和显示等待图像需要比DB的插入操作更长的时间(至少这是我的经验,数据库插入大约150Hz 24/7)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM