我是编程和数据库的新手。我开始学习Mysql和C#。因此,我在C#中创建了一个非常简单的测试程序来测试一分钟内可以执行多少次插入。 (只是一个简单的无限循环,将简单的文本插入到列中)我正在观察MySQL Workbench中的仪表板,问题是该程序每秒只能插入1000个查询。如果我同时运行2-3个程序实例,我可以看到2-3 * 1000个查询/秒。
MySQL中有限制吗?
答案 0 :(得分:0)
插入费率没有内置限制。
当您尝试高插入率时,很多事情会发挥作用。例如。
您已经提到过,对于2-3个插入程序,您的总插入率大致呈线性增长。这意味着瓶颈在你的插入程序中,而不是服务器,在那个规模。
与许多语言框架一样,C#提供了预备语句。它们是一种编写查询的方法,可以反复使用不同的数据值。它更快。如果您的数据来自不受信任的来源(查找SQL注入),它也会更安全。
MySQL允许您使用单个INSERT操作插入多行。更快。
INSERT INTO TABLE tbl (a, b, c)
VALUES (1,2,3),(4,5,6),(7,8,9)
MySQL提供LOAD DATA INFILE语句。如果您需要,您可以使用该声明获得惊人的高批量负载率。