随笔分类 - 【数据库】
有关mysql,mongodb的学习和研究。
摘要:场景: 这几天在外面实习,老师的项目数据库崩了让我看,连着两条看到十一二点,哎。 主要场景是mysql突然崩溃,发现重启mysqld服务无效,重启系统无效。查看/var/log/mysql.log日志,看到以下内容: The manual page at http://dev.mysql.com/d
阅读全文
摘要:场景: 这几天项目要验收,虽然我已经在学校里写论文了,是师弟师妹在负责,但是前期很多东西是我做的,所以我也得起来赶bug,呜呜呜。 解决方法: 主要是因为pg_corn是用libpg连接的,它是一个pg的接口,需要配置一些连接信息才可以。 所以可以通过修改pg_hba.conf解决,尝试了一下,但是
阅读全文
摘要:场景 之前的timescaledb方案实现后,发现只对一些视图优化明显,大部分视图(与时间无关的)没有优化甚至更耗时。于是提出第二种方案,利用pgAgent和物化视图来优化。 我的版本:pg:10.19,pgAgnet:10 安装pgagent: 注意,pgagent在9.0之前,是pgadmin下
阅读全文
摘要:场景: 用postgresql存上百万条的数据,还有在这些表的基础上做时间相关的聚合,一开始聚合的结果耗时高达7s,最高的有30s左右。于是用timescaledb做优化。 解决: 由于之前安装的pg是10版本的,现在最新的timescaledb要求pg12以上,于是我才用timescale 1.4
阅读全文
摘要:场景: 最近回学校后,还要给老师做项目,真的服气。有个需求是sqlserver的数据同步,把甲方的数据同步到我们服务器,进行数据操作。其中有些表有时间戳字段,这个时候直接导出sql,再导入会报错:“不能将显式值插入时间戳列”。用其他的方式传,比如导出excel,再导入会导致字段类型改变,数据丢失。
阅读全文
摘要:场景 这几天在赶十一上线的项目,但是突然发现接口性能不好,高并发支持不住。又不想改代码,就在数据库层面进行优化。 Mysql 分区:项目中有对40万条的数据进行时间查询的要求,就算对DateTime建立了索引,也十分耗时。这个时候可以用分区,把一个表按一个字段分为多个区,比如创建时间(DateTim
阅读全文
摘要:场景: 项目进入验收阶段,要进行接口测试,此时对一个操作mongodb数据的接口进行压力测试。报错:A bulk write operation resulted in one or more errors。 解决: 这个问题应该是并发时多个mongodb的文档要进行插入和修改,插入时发现已经存在该
阅读全文
摘要:场景 由于业务要求,需要对甲方的一个在SQL Server上的财务表进行插入操作。研究了半天,因为一个小问题折腾了很久。 过程 .net core端: 1. 利用EF,就需要的导入相关的Nuget包,这里选用:Microsoft.EntityFrameworkCore.SqlServer 2. 建立
阅读全文
摘要:场景 今天在开发的时候,在mongodb中有个字段保存的数据结构是decimal,然后需要对这个字段的值进行范围的查询。结果却怎么查询值范围都是空。 解决 如图中看到的,利用Navicat,可以明显的看到字段的数据类型。其中蓝色的COD字段,现在是float。但如果我们把它改为decimal,这个时
阅读全文
摘要:场景: 这几天项目要完结交付,需要补很多文档。此时发现甲方要求提供数据库设计文档,尽管我觉得他们不会看,但是人家要求,还是补一下吧!时间紧迫,要赶出整个项目的数据库设计文档比较麻烦,每个两三天不行。于是我使用了PDMan: PDMan: PDMan是一款数据库设计软件,整个界面比PowerDesig
阅读全文