首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

干货|分析PostgreSql单表60w数据却占用55g空间

突然听到运维说磁盘预发布环境磁盘空间不够,细查之下发现是由于某个表的数据太大导致的,但是查看了下数据库表发现,实际的表数据量只有60w条,很明显表哪里出问题了,一开始以为是犹豫表的设计不合理索引导致的数据量大,细看之下发现挺正常的。正在焦虑蹉跎的时候,有幸得到朋友圈大佬的指点,是死亡元组太多导致的只需要执行vacuum full清理死亡元组就好,查看了相关的博客稳定发现postgresql居然会保存mvcc多版本修改记录,简单理解就是,postgresql对你所做的修改和删除都会保存记录,不会清理释放空间。这让我顿时想到[Mysql的MVCC],但是mysql的undo log也只记录执行操作的相反记录保留最新的记录,而redo log记录数据页的变更,但是大小是固定的,都可以通过配置参数配置固定大小。

05

浅谈 SQLServer 数据库的备份与还原

在生活中,数据库管理员最担心的就是数据库瘫痪,从而造成数据丢失,任何数据的丢失都会造成非常严重的后果,所以我们为了更有效的保护和恢复数据,需要进行备份数据。 一般来说,造成数据的丢失主要包括几类: 1、程序错误:程序异常终止或逻辑错误 2、人为错误:管理员误操作 3、计算机失败:系统崩溃,硬件和软件引起的错误 4、磁盘失败:磁盘读写磁头损坏、磁盘物理块损坏 5、灾难和偷窃:自然灾害、人为偷窃都会造成 SQL server的备份有如下三种: 1、完整备份:完整备份包括对整个数据库、部分事务日志、数据库结构和文件结构的备份。它代表的是备份完成时刻的数据库。是所有备份类型的基础。

03
领券