首先我们从时间复杂度上来说,树的查询复杂度为o(lg2N),而hash为o(1),那为什么数据库的引擎采用了树而不是hash呢?
首先,在等值查询上,树的速度肯定是不如hash的,但是如果是非等值查询呢,那么查询效率hash肯定就不占优势了吧。
再来看插入操作,树的效率还是很平均,而hash则可能要经过很多的冲突,并且由于hash是为了保持散列,也好像没有树省空间吧。
首先我们从时间复杂度上来说,树的查询复杂度为o(lg2N),而hash为o(1),那为什么数据库的引擎采用了树而不是hash呢?
首先,在等值查询上,树的速度肯定是不如hash的,但是如果是非等值查询呢,那么查询效率hash肯定就不占优势了吧。
再来看插入操作,树的效率还是很平均,而hash则可能要经过很多的冲突,并且由于hash是为了保持散列,也好像没有树省空间吧。
本文标题:数据库引擎用B+树和hsah的区别
本文链接:https://www.haomeiwen.com/subject/gvzxqxtx.html
网友评论