SQL数据库太大怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL数据库太大怎么办相关的知识,希望对你有一定的参考价值。

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

先来建一个测试库:

塞一些数据进去:

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

使用 mysqldump 导出一份数据:

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

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

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

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

看看 CPU 压力:

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

💡小贴士:pv 工具既可以用于显示文件流的进度,也可以用于文件流的限速。在本实验中,我们用 PV 来限制 SQL 文件发到 MySQL client 的速度,从而限制 SQL 的回放速度,达到不影响其他业务的效果。

参考技术A   处理方法:
  1、用BACKUP LOG database WITH NO_LOG清除日志
  把数据库属性中的故障还原模型改为“简单”可以大大减慢日志增长的速度。
  用BACKUP LOG database WITH NO_LOG命名后,会截断不活动日志,不减小物理日志文件的大小,但逻辑日志会减小,收缩数据库后会把不活动虚拟日志删除来释放空间,不会损坏数据。
  如果日志被截断并收缩数据库后,就不能直接用最近的一个全库备份做时间点还原,建议立即备份数据库,以防万一。
  2、sql server运行中,删除主数据库事务日志文件,步骤如下:
  (1)、分离数据库管理器-数据库-右击要删除日志的数据库-所有任务-分离数据库
  (2)、然后删除日志文件
  (3)、然后再附加数据库
  企业管理器-数据库-右击数据库-所有任务-附加数据库时只附加mdf.
  3、压缩SQL数据库及日志的详细方法
  可以在数据库属性选项中选择“Auto shrink”选项,让系统自动压缩数据库,也可以用人工的方法来压缩。
参考技术B 就SQL本般来说,对数据文件大小的支持没有限制,只受可用资源的限制.
而文件大小主要与磁盘分区格式有关,FAY16支持<=2G的文件,FAT32支持<=4G的文件.
NTFS没有限制

如果你一定要将图像数据放在数据库中,磁盘分区格式要用NTSF,并对数据库进行分割

sql文件太大,mysql导入报错怎么办

拆分成几段,分段执行,
不过一般的编辑器打不开太大的SQL文件,你可以百度一下SQL文件编辑器.
参考技术A

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

先来建一个测试库:

塞一些数据进去:

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

使用 mysqldump 导出一份数据:

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

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

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

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

看看 CPU 压力:

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

💡小贴士:pv 工具既可以用于显示文件流的进度,也可以用于文件流的限速。在本实验中,我们用 PV 来限制 SQL 文件发到 MySQL client 的速度,从而限制 SQL 的回放速度,达到不影响其他业务的效果。

以上是关于SQL数据库太大怎么办的主要内容,如果未能解决你的问题,请参考以下文章

mysql 的sql文件太大怎么导入

SQL2005数据库日志文件LOG太大怎么办

SQL数据库文件太大怎么处理

在Sql Server 2000 的分区视图数据量太大导致中无法更新,怎么办

几个数据库打成一个sql文件了,太大了,打不开。怎样抽出一个数据库文件呢? 我用的是mysql

sql数据库日志文件过大怎么办