http://www.textruth.com

                                                                  【大发二分彩计划】建立索引可以加快表中数据查询的速度吗-mysql教程

                                                                  首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。

                                                                  如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。(推荐学习:MySQL视频教程)

                                                                  添加索引]的话,首先去索引列表中查询,而我们的索引列表是B类树的数据结构,查询的时间复杂度为O(log2N),定位到特定值得行就会非常快,所以其查询速度就会非常快。

                                                                  为什么说B+-tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?

                                                                  1) B+-tree的磁盘读写代价更低

                                                                  B+-tree的内部结点并没有指向关键字具体信息的指针。因此其内部结点相对B 树更小。如果把所有同一内部结点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多。一次性读入内存中的需要查找的关键字也就越多。相对来说IO读写次数也就降低了。

                                                                  举个例子,假设磁盘中的一个盘块容纳16bytes,而一个关键字2bytes,一个关键字具体信息指针2bytes。一棵9阶B-tree(一个结点最多8个关键字)的内部结点需要2个盘快。而B+ 树内部结点只需要1个盘快。当需要把内部结点读入内存中的时候,B 树就比B+ 树多)一次盘块查找时间(在磁盘中就是盘片旋转的时间)。

                                                                  2) B+-tree的查询效率更加稳定

                                                                  由于非终结点并不是最终指向文件内容的结点,而只是叶子结点中关键字的索引。所以任何关键字的查找必须走一条从根结点到叶子结点的路。所有关键字查询的路径长度相同,导致每一个数据的查询效率相当。

                                                                  索引

                                                                  使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(lname)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您[更快地获得该信息。

                                                                  注意:并(非所有的数据库都以相同的方式使用索引。

                                                                  作为通用规则,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引占用磁盘空间,并且降低添加、删除和更新行的速度。在多数情况下,索引用于数据检索的速度优势大大超过它的。

                                                                  更多MySQL相关技术文章,请访问MySQL教程栏目进行学习!

                                                                  以上就是建立索引可以加快表中数据查询的速度吗的详细内容,,更多请关注php中文网其它相关文章!

                                                                1. 微信
                                                                2. 分享php中文网最新课程二维码相关标签:索引
                                                                3. 郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:耐克“月球鞋”拍卖,成交价45万美元创纪录 - 耐克,月球鞋
                                                                  下一篇:没有了