当一张表数据过大时,怎么把数据导出呢

当一张表数据过大时,怎么把数据导出呢,第1张

首先说数据放到数据库里来 *** 作是功能最强,性能最好的。

导出来的话如果是EXCEL格式。由于EXCEL有最大行数限制,太大数据支持不了。

excel 2003 =2^16 = 65 536

excel 2007 = 2^20 = 1048576

如果导成CSV格式(逗号分隔),内容中不能有逗号等分隔符号,还有就是不能很好被支持。

如果你是为了从一个数据库导到另一个数据库中大可不必这么麻烦。

有一些专门的工具可以实现两种数据库的连接从而直接传送数据,比如SQL SERVER带的DTS。还有一些第三方软件利用ODBC把两个数据库连接到一起,也就能实现数据传输。

我有个大的 SQL 文件要回放,需要马上做,但又怕压死业务,怎么办?

先来建一个测试库:

塞一些数据进去:

看看我们填充数据的成果:

使用 mysqldump 导出一份数据:

现在我们假设要把这个 dump 文件,回放到一个数据库中,并且现在数据库正在承担很重的业务,我们不希望业务受到太大影响。

先来看看如果直接回放 dump 文件,会发生什么?

我们看到 MySQL 的 cpu 会彪起来,

我们换一个方式来回放 dump:

看看 CPU 压力:

可以看到 CPU 已经非常冷静,并且缓慢的处理数据。

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

原文地址: http://outofmemory.cn/sjk/10191995.html

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

发表评论

登录后才能评论

评论列表(0条)

保存