
数据库
文章平均质量分 82
z_ryan
这个作者很懒,什么都没留下…
展开
-
简单剖析B树(B-Tree)与B+树
注意:首先需要说明的一点是:B-树就是B树,没有所谓的B减树引言 我们都知道二叉查找树的查找的时间复杂度是O(log N),其查找效率已经足够高了,那为什么还有B树和B+树的出现呢?难道它两的时间复杂度比二叉查找树还小吗? 答案当然不是,B树和B+树的出现是因为另外一个问题,那就是磁盘IO;众所周知,IO操作的效率很低,那么,当在大量数据存储中,查询时我们不能一下子将所有数据加载到...原创 2018-03-25 11:30:09 · 71500 阅读 · 27 评论 -
MySQL逻辑架构及工作流程
MySql并不完美,但是却足够灵活,能够适应高要求的环境。同时,MySql既可以嵌入到应用程序中,也可以支持数据仓库、内容索引和部署软件、高可用的冗余系统、在线事务处理系统等各种应用类型。 为了更心如的理解MySql服务器,我们需要理解MySql各部件之间如何协同工作。需要我们去理解它的逻辑架构。下面我们就来介绍一下MySql的逻辑架构:MySQL的逻辑架构 MySQL的最重要...原创 2018-08-31 18:43:02 · 8961 阅读 · 3 评论 -
MySQL查询过程剖析
数据库的性能问题是我们一直需要考虑的一个问题。有人可能说建立最好的索引,设计最有的库表结构。但是这些在没有合理的设计查询的基础上,都无法实现高性能。 今天,我们就先聊一聊MySQL的查询过程。下图就是MySQL的查询过程图:MySQL的查询过程 首先,对其中的各个模块做一简单分析: 1、客户端/服务端通信协议 首先,需要说明的是:MySQL客户...原创 2018-08-31 22:15:29 · 3636 阅读 · 0 评论 -
MySQL删除表操作(delete、truncate、drop的区别)
本文主要讲mysql中三种删除表的操作,delete语句、truncate语句以及drop语句的区别:简介delete1、删除整张表的数据:delete from table_name;2、删除部分数据,添加where子句:delete from table_name where...;3、说明 1)、属于DML语言,每次删除一行,都在事务日志中为所删除...原创 2018-08-21 19:53:57 · 88346 阅读 · 2 评论 -
MySql数据库存储引擎(MyISAM与InnoDB)
MySql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。而每一种存储引擎也使用不同的存储机制、索引技巧、锁定水平,最终提供广泛且不同的功能。常见的存储引擎有MyISAM,InnoDB,Memory,Archive等。 本文主要介绍的是:MyISAM与InnoDB。在5.5版本之前,MyISAM是MySQL的默认数据库引擎。虽然性能极佳,但却有一个缺点:不支持事务处理...原创 2018-08-21 23:54:27 · 2920 阅读 · 0 评论 -
MySQL索引优化
在上文中,我们介绍了MySQL中的两种主要的索引–B-Tree索引和Hash索引。虽然使用索引会带来很大程度上的性能优化。但是,索引的不当使用同时也会引起性能的急剧下降。今天我们就来聊聊索引的优化问题。 首先讨论两个问题:问题1、为什么要使用索引? 谈到为什么要使用索引,大家第一时间想到的就是提升查询效率吧。那除了这个用途之外索引还有其他的用途吗?下面我们就来聊一聊...原创 2018-09-05 00:54:32 · 745 阅读 · 0 评论 -
MySQL支持的索引类型(B-Tree索引、hash索引)
索引,是存储引擎用于快速找到记录的一种数据结构。尤其是在表中的数据量越来越大时,索引对于性能的提升非常关键。今天先聊一聊MySQL支持的两种主要的索引类型。 在MySQL中,存储引擎在使用索引时,会先在索引中找到对应值,然后根据所匹配的索引记录找到对应的数据行。例如:select name from user where id = 10; 若在id列上建有索引...原创 2018-09-03 01:12:01 · 18067 阅读 · 1 评论