关于日期Mongodb存储性能比较 Date int long

测试环境

mogodb
MongoRepository(spring框架里面的)
10000条记录

A

@Document(collection = "DateTests")
public class DateTestInfo extends BaseDomain {
    /**
     * 唯一id
     */
    @Field("id")
    @Setter
    @Getter
    @Indexed(name = "index_platform_id", unique = true)
    private long id;

    @Field("date")
    @Setter
    @Getter
    private Date date = new Date();
}


B

@Document(collection = "DateTests")
public class DateTestInfo extends BaseDomain {
    /**
     * 唯一id
     */
    @Field("id")
    @Setter
    @Getter
    @Indexed(name = "index_platform_id", unique = true)
    private long id;

    @Field("date")
    @Setter
    @Getter
    private int date = 1551260428;
}

C

@Document(collection = "DateTests")
public class DateTestInfo extends BaseDomain {
    /**
     * 唯一id
     */
    @Field("id")
    @Setter
    @Getter
    @Indexed(name = "index_platform_id", unique = true)
    private long id;

    @Field("date")
    @Setter
    @Getter
    private long date = 1551260428738L;
}

相同环境下的数据
 

代码存时间(单位毫秒)取时间(单位毫秒)
A14399
B139101
C12498

 

结果日期数据用Mongodb  用Date Int long 存取 基本没区别。考虑到查询显示方便 推荐 还是Date

 

 

 

 

 

千万级数据量级下,MongoDB和MySQL在性能方面有着一些区别。 首先,在千万级数据的读取性能这方面,MongoDB通常表现得更好。MongoDB使用了基于磁盘的存储引擎,它的数据模型是面向文档的,并且有着更灵活的数据结构。这使得MongoDB在处理大量读取请求时,具有更高的扩展性和并发性能。同时,MongoDB还支持水平扩展,可以通过分片来增加吞吐量。 而MySQL则使用了传统的关系型数据库模型,在大量读取请求的情况下,需要通过读取磁盘上的数据页来获取数据,相对来说IO开销较大。虽然MySQL也支持索引来提高读取性能,但在大量读取请求的情况下,性能可能有限。 其次,在写入性能方面,MongoDB和MySQL有着一些差异。MongoDB采用了写入先缓存在内存中,再定期写入磁盘的方式,这可以提高写入性能。而MySQL则需要在每个写操作之后立即将数据持久化到磁盘上,这在写入量大的情况下可能会导致性能下降。 另外,千万级数据量级下,MongoDB的分布式特性可以发挥更大的作用。MongoDB支持自动数据分片和负载均衡,可以更好地处理大规模数据的存储和查询需求。而MySQL在分布式方面的支持相对较弱。 总的来说,MongoDB在千万级数据量级下的可扩展性、读取性能和写入性能方面具有一定优势。但在某些特定场景或需求下,MySQL可能仍然是更合适的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值