javaMySQL面试题-MongoDB
2024-05-28 13:37:52
什么是 BSON
{key:value,key2:value2}和Json类似,是一种二进制形式的存储格式,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,比如 value包括字符串,double,Array,DateBSON可以做为网络数据交换的一种存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想。
BSON有三个特点:轻量性、可遍历性、高效性
优点:
●文档结构的存储方式,能够更便捷的获取数据。对于一个层级式的数据结构来说,使用扁平式的,表状的结构来查询保存数据非常的困难。
●内置GridFS,支持大容量的存储。GridFS是一个出色的分布式文件系统,支持海量的数据存储,满足对大数据集的快速范围查询。
●性能优越千万级别的文档对象,近10G的数据,对有索引的ID的查询 不会比MySQL慢,而对非索引字段的查询,则是全面胜出。 mysql实际无法胜任大数据量下任意字段的查询,而mongodb的查询性能实在牛逼。写入性能同样很令人满意,同样写入百万级别的数据,mongodb基本10分钟以下可以解决。
缺点:
●不支持事务
●磁盘占用空间大
MySQL 8.0 版本
1. 性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。
2. NoSQL:MySQL 从 5.7 版本开始提供 NoSQL 存储功能,在 8.0 版本中nosql得到了更大的改进。
3. 窗口函数:实现若干新的查询方式。窗口函数与 SUM()、COUNT() 这种集合函数类似,但它不会将多行查询结果合并为一行,而是将结果放回多行当中,即窗口函数不需要 GROUP BY。
4. 隐藏索引:在 MySQL 8.0 中,索引可以被“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。