logo头像

不忘初心 方得始终

数据库

详解MongoDB执行计划

详解MongoDB执行计划

引言在RDBMS(Relational Database Management System)中,无论哪种数据库,都提供了SQL剖析工具,用来解决SQL效率低下的问题。在MongoDB中,也有相应的策略来实现剖析。MongoDB提供了db.collection.explain()、cursor.explain()方法和explain命令返回查询计划信息和查询计划的执行统计信息。…

MongoDB索引管理(二)

MongoDB索引管理(二)

引言在数据量超大的情形下,任何数据库系统在创建索引时都是一个耗时的大工程。MongoDB也不例外。MongoDB索引的创建有两个选择:一个是前台方式,一个是后台方式。…

MongoDB中的索引(一)

MongoDB中的索引(一)

引言在 MongoDB 典型的数据库查询场景中,索引 index 扮演着非常重要的作用,如果没有索引,MongoDB 需要为了找到一个匹配的文档而扫描整个 collection,代价非常高昂。…

基于Redis的分布式锁

引言目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式服务下各个服务同时访问共享资源时,分布式锁就派上用场了。redis用来做缓存很常见,它还有一个非常重要的功能就是做分布式锁。 ...

PG与MySQL选型分析

引言PostgreSQL(简称pg)是近几年增长率较快的开源数据库,很多企业由原来的MySQL转向pg,在这里对比这两大开源关系型数据库的优劣,以便使用时快速选型。 …

MySQL清除表空间碎片

引言MySQL在数据表使用很长时间后,表上的B-Tree索引可能会碎片化,会降低查询的效率。碎片化的索引可能会以很差或者无序的方式存储在磁盘上,这时就需要对表进行碎片化整理。…

Spring下MySQL读写分离

引言之前的文章已经说明MySQL主从/主主同步环境的搭建,接下来就是要实现在业务代码里面实现读写分离。在当前流行的SSM的框架开发的web项目下,数据库模式为主从同步的环境下编写业务代码。 …

MySQL执行计划

引言MySQL执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。在MySQL使用 explain 关键字来查看SQL的执行计划。 …

MySQL主从/主主复制

引言MySQL作为世界上最广泛的数据库之一,免费是原因之一,其本身功能的强大也是获得众多用的青睐的重要原因。在实际的生产环境中,单机版MySQL数据库就不能满足实际的需求了,此时数据库集群就很好的解决了这个问题了。采用MySQL分布式集群,能够搭建一个高并发、负载均衡的集群服务器。在此之前必须要保证每台MySQL服务器里的数据同步。数据同步可以通过MySQL内部配置就可以轻松完成,主要有主从复制和主主复制。 …

Java备份和还原MySQL数据库

引言​ 在项目中经常会用到Java程序备份和还原MySQL数据库的内容,都是大同小异,但程序也会出现各种各样的问题(运行时异常,乱码等)。实现上都是用Runtime执行MySQL的命令行工具,然后读写IO流数据;也有可能是由于使用Java的Runtime来实现备份还原功能,而由于大家的运行时环境有差异才导致代码运行不成功。在这里记录一下自己使用的工具和方法。 …