【数据库】mongo

1、特点

  • 基于 分布式文件存储 的 NoSQL 数据库
  • 面向文档 的存储方式(bson),模式自由,不需要字段定义
  • 主从、副本集、分片
  • 多键 b+树存储
  • 连表查询:聚合查询 Aggregation
  • ACID:MongoDB 支持事务

2、索引与优化

  • 单字段索引、复合索引、多键索引、哈希索引、文本索引
  • 索引本身是在高速缓存当中,相比磁盘IO操作会有大幅的性能提升
  • 索引排序顺序是对结果有影响的

3、慢查询过程

  • 开启profile慢查询,找到超过200ms的语句
  • explain分析
  • 决定是否需要添加索引

4、explain分析

  • stage: COLLSCAN全表扫描,IXSCAN索引扫描
  • totalKeysExamined :总共查询了多少个 key;totalDocsExamined:总共在磁盘查询了多少个document。两个值越接近效率更高

5、mysql 非聚簇索引和 mongo 的多键索引

  • 非聚簇索引主要用于提高查询性能,它允许数据库系统快速定位到数据行。而多键索引主要用于支持包含数组或嵌套文档的字段的查询,它允许数据库系统对数组中的每个元素进行索引。
  • 索引条目:非聚簇索引的索引条目是指向数据行的指针和索引字段的值。而多键索引的索引条目是数组元素或嵌套文档本身。
  • 索引大小:非聚簇索引的大小通常取决于索引字段的值和指针的大小。而多键索引可能会增加索引的大小,因为对于每个数组元素, MongoDB 都会创建一个索引条目。

6、findAndModify()

可以做乐观锁,进行并发控制

7、4.0开始支持事务

  • 开启事务  startTransaction()
  • 执行插入、更新或删除操作
  • 提交事务  commitTransaction()
  • 如果失败可以回滚 abortTransaction()
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值