Python存200w数据到数据库需要多久

Python存200w数据到数据库需要多久,第1张

Python存200w数据烂配到数据库需要474秒,因为正常的三万八千条数据仅需要9秒,以此类推出200万需要的时间。

【python存数据速度

1、需要从文键历手本中读取三万条数据写入mysql数据库,文件中为用@分割的sql语句,但是在读取的过程中发现速度过慢,三万八千条数据需要220秒,

2、经测试发现,影响速度的主要原因是稿嫌commit(),因为没过几秒提交一次即可,但是因为提交的字符长度有限制,所以要设置一个合理的时间读取。

3、更改后,写入三万八千条数据仅需要9秒

Python向NAS上写入数据很慢可能有以下原因:

网络带宽限制:如果您的NAS和Python程序运行的计算机之间的网络带宽较低,数据传输速度就会变慢。

硬盘读写速度限制:如果您的NAS硬盘读写速度较慢,或者硬盘已经接近满负荷,写入数据的速度就会变慢。

Python程序的性能问题:如果您的Python程序写入数据的方式不够高效,或者存在其他性能问题,也会导致写入数据的速度变慢。

针对这些问题,您可以尝试以下解决方案:

检查网络带宽:可以使用网络测试工具检查NAS和Python程序运行的计算机之间的网络带宽,如果网络带宽较低,可以考虑升级网络设备或者使用其他网络传输方式。

检查扒行NAS硬盘读写速度:可以使用硬盘测试工具检枣型查NAS硬盘的读写速度,如果硬盘读写速度较慢,可以考虑升级硬盘或者使用其他存储设备。

优化Python程序:可以使用Python性能分析工具检查Python程序的性能问题,并进行优化。例如,可以使用多线程或者凳此猜异步IO等方式提高写入数据的效率。

总之,Python向NAS上写入数据很慢可能有多种原因,需要根据具体情况进行分析和解决。

毫无疑问,Python是社区最喜爱的编程语言!到目前为止,它是最容易使用敬裂滚的语言之一,因为python代码是用一种直观的、人类可读的方式编写的。

然而,你经常会反复听到一些对Python的抱怨,尤其是来自C语言爱好者的抱怨,这些抱怨无非就是Python很慢。

是的,他们并没有说错。

与许多其他编程语言相比,Python确实很慢。Benchmark game有一些比较不同编程语言在不同任务上的速度的可靠基准。

对于Python,我们有几种不同的方法可以加快速度:

如果你所做的实际上可以并行化,比如数据预处理或矩阵运算,这些都是很好的方法。

但是如果你的代码是纯Python的呢?如果你不得不使用一个很大的for循环,且不能将数据放入矩阵中,因为数据必须按顺序处理,那会怎样?有没有办法加快Python本身的速度呢?

答案是肯定的,这就是Cython来加速原生Python代码的地方。

什么是Cython?

Cython是Python和C/C++之间的一个中间步骤。它允许你编写纯Python代码,并且只需要做一些小修改,然后将其源贺直接翻译成C代码。

使用Cython,我们将向该变量添加一个类型:

安装Cython只需要一行简单的pip命令:

Cython中的类型

使用Cython时,变量和函数分别有不同的类型。

对于变量我们有以下类型:

注意所有这些类型都来自C/C++ ! 而对于方法我们有以下类型:

了解了Cython类型之后,我们就可以直接实现加速了!

如何使用Cython加速你的代码

我们要做的第一件事是设置Python代码基准:用于计算数值阶乘的for循环。原生Python代码如下:

注意到该函数具有cpdef,以确保我们可以从Python中调用它。并且注意到到循环变量i是具有类型的。你需要为函数中的所有变量设置类型,以便C编译器知道使用哪亮余种类型!

接下来,创建setup.py文件,该文件将Cython代码编译为C代码:

并执行编译:

Boom ! 可以看到我们的C代码已经编译好了,可以使用了!

你将看到,在Cython代码所在的文件夹中,你拥有运行C代码所需的所有文件,包括run_cython.c文件。如果你感兴趣,可以查看一下Cython生成的C代码!

现在我们准备测试我们新的并且超级快的C代码!查看下面的代码,它实现了一个速度测试,将原生Python代码与Cython代码进行比较。

代码非常直观,我们以与普通Python相同的方式导入文件,并以与普通Python相同的方式运行函数!

Cython几乎可以让你在所有原生Python代码上获得良好的加速,而不需要太多额外的工作。需要注意的关键是,循环次数越多,处理的数据越多,Cython可以提供的帮助就越多。

下表显示了Cython为不同的数值阶乘带来的加速性能。当数值为10000000的时候,可以看到,我们的Cython加速超过了36倍。


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

原文地址: http://outofmemory.cn/tougao/12150010.html

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

发表评论

登录后才能评论

评论列表(0条)

保存