数据庞大的数据库的数据是怎样存入数据库?
网站的用户数据是存放在数据库中的,怎么快速查询是所有数据库最基础的问题。
数据库提高查询效率的方法其实很简单,不是遍历所有数据,而是使用高效的数据结构来存储数据,比如树结构、网结构等。查询的时候,按照数据结构的搜索算法来查找,不需要遍历所有数据。 现在的数据库大多采用B树结构以及B树结构的变体(B+树、B*树等),你要是感兴趣,可以在网上查找这些数据结构的相关解释说明。这里就不细说了,因为展开解释的话,要打很多字。。。
举个通俗的例子吧,比如把一本英语字典中的单词存到数据库中,按照树形结构来存(这里用比较简单的二叉树)。 你要查询email这个单词,并不是从a字母开头的单词一个一个查,...全部
网站的用户数据是存放在数据库中的,怎么快速查询是所有数据库最基础的问题。
数据库提高查询效率的方法其实很简单,不是遍历所有数据,而是使用高效的数据结构来存储数据,比如树结构、网结构等。查询的时候,按照数据结构的搜索算法来查找,不需要遍历所有数据。
现在的数据库大多采用B树结构以及B树结构的变体(B+树、B*树等),你要是感兴趣,可以在网上查找这些数据结构的相关解释说明。这里就不细说了,因为展开解释的话,要打很多字。。。
举个通俗的例子吧,比如把一本英语字典中的单词存到数据库中,按照树形结构来存(这里用比较简单的二叉树)。
你要查询email这个单词,并不是从a字母开头的单词一个一个查,而是从数据库的中间查起,假设中间的单词是orange,然后比较email和orange的大小,发现email应该排在orange的前面,然后再读取orange前面所有单词的中间一个,假设是go,比较email和go的大小,发现email也应该排在go的前面,再取go前面所有单词的中间一个,假设是day,比较email和day的大小,发现email应该在day之后,这时需要取day和go之间所有单词的中间一个,继续比较,以此类推,直到email所在的位置被找到。
收起