
MySQL
Fe_cow丿
头发是比青春更容易流失的东西,不要等失去了才想着去珍惜!
展开
-
MySQL 索引讲解
MySQL索引索引是帮助MySQL高效获取数据的排好序的数据结构。索引的数据结构:二叉树红黑树Hash表B-Tree索引的节点存储的是key(索引列字段),value(行数据磁盘文件的地址指针)。从索引表中找的时候,都是从根节点去找。(二叉树的数据结构)二叉查找树:采取二分查找的思想,O(logN) 的复杂度就可以完成对数据的查找任务,查找所需的最大次数等同于二叉树的高度。它的特性:左子树上所有节点的值,小于或等于根节点的值右子树上节点的值,大于或等于根节点的值缺点:插原创 2020-10-17 12:11:56 · 401 阅读 · 0 评论 -
MySQL 临时表、内存表的使用
MySQL 临时表、内存表的使用一、临时表:临时表的创建语法:create temporary table1.临时表有哪些特点?一个临时表只能被创建它的session访问,对其他线程不可见。SessionA创建临时表t,SessionB是看不见的;临时表可以与普通表同名。SessionA内有同名的临时表和普通表的时候,show create 语句,以及增删改查语句访问...原创 2019-11-27 11:25:09 · 752 阅读 · 0 评论 -
MySQL Join 优化
MySQL Join的使用一、使用join语句的优势?使用join语句,性能比强行拆成多个单表执行SQL语句的性能要好;使用join语句的话,需要让小表做驱动表;前提是,“可使用被驱动表的索引”二、怎么选择驱动表?在join语句执行过程中,驱动表是走全表扫面,而被驱动表是走树搜索(需建立索引);使用小表做驱动表;三、什么是MRR?Multi-Range-Rea...原创 2019-11-27 09:44:56 · 396 阅读 · 0 评论 -
MySQL 常见性能问题
MySQL 常见性能问题:一、条件字段函数操作:如果对字段做了函数计算,该字段就用不上索引了;对索引字段做函数操作,可能会破坏索引值的有序性,因此优化器就决定放弃走树搜索功能;注意:优化器并不是要放弃使用这个索引,而是放弃了树搜索功能,优化器可以选择遍历主键索引,也可以选择遍历二级索引,只是遍历二级索引的时,会导致全面扫描,根本起不到索引的作用;二、隐式类型转换:若表中tra...原创 2019-11-26 10:48:51 · 1484 阅读 · 2 评论 -
MySQL order by 工作原理
MySQL order by 工作原理:一、MySQL是怎么进行排序?MySQL会为每个线程分配一个内存(sort_buffer)用于排序,内存大小为sort_buffer_size;如果排序的数据量小于sort_buffer_size,排序会在内存中完成;如果排序数据量很大,内存中无法存下这么多数据,会使用磁盘临时文件来辅助排序,也称外部排序;在使用外部排序时,MySQL会分成好几份...原创 2019-11-25 16:42:58 · 838 阅读 · 0 评论 -
MySQL 常见问题总结
MySQL 常见问题总结MySQL为什么会抖一下?针对InnoDB导致MySQL抖得原因,主要是InnoDB会在后台刷脏页,而刷脏页的过程是要将内存页写入磁盘。所以,无论是你的查询语句在需要内存的时候可能要求淘汰一个脏页,还是由于刷脏页的逻辑会占用IO资源并可能影响到了你要更新的语句,都可能造成MySQL"抖"一下原因;怎么解决MySQL抖动的问题?设置合理参数配置,in...原创 2019-11-23 18:16:16 · 684 阅读 · 0 评论 -
MySQL 锁
MySQL 锁数据库锁的设计初衷是处理并发问题。作为用户共享的资源,当出现并发访问的时,数据库需要合理的控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。锁分为:全局锁;表级锁;行锁(InnoDB引擎);一、全局锁:全局锁就是对整个数据库实例加锁;全局锁命令:Flush tables with read lock(FTWRL);需将整个库处于只读状态的...原创 2019-11-22 10:13:29 · 335 阅读 · 0 评论 -
MySQL 索引
MySQL 索引简单的理解:索引的出现其实就是为了提高数据查询的效率,像书的目录一样。在MySQL中,索引是存储在引擎层实现的。一、索引常见模型:1.哈希表:是以 键-值 存储数据的结构;把值放在数组里,用一个哈希函数,把key换算成一个确定的位置,然后把value放在数组的这个位置;解决多个key值通过哈希函数换算,出现同一个值情况。解决方法是,拉出一个链表。缺点:...原创 2019-11-21 09:34:39 · 223 阅读 · 0 评论 -
MySQL 事务隔离
MySQL 事务隔离事务就是保证一组数据库操作,要么全部成功,要么全部失败。在MySQL中事务是在引擎层实现的。一、事务特性:ACID:原子性、一致性、隔离性、持久性原子性:事务中全部操作,要么全部完成,要么全部失败;一致性:几个并行事务,执行结果必须与按某一顺序串执行结果相一致;隔离性:事务的执行不受其他事务干扰,事务执行的中间结果对其他事务是透明的;持久性:任意提交的事务,系统...原创 2019-11-13 18:22:14 · 209 阅读 · 0 评论 -
MySQL 更新语句的执行流程
MySQL 更新语句的执行流程一、基本流程:查询语句的流程,更新语句也会同样的走一遍。在一个表有更新的时候,查询缓存会失效;接下来分析器会通过词法分析语法,分析这是一条更新语句;优化器决定使用ID这个索引;执行器负责更新,找到这一行,然后进行更新;与查询流程不同的是,更新流程涉及两个重要日志模块。二、redo log(重做日志):redo log 是InnoDB引擎特有的日志...原创 2019-11-13 16:49:20 · 702 阅读 · 0 评论 -
MySQL 基本架构
MySQL 基本架构:从图中可以看出,分为服务器层、跟存储引擎层两部分:一、服务器层:连接器:管理连接、权限验证连接器负责跟客户端建立连接,获取权限,维持,管理连接:mysql -h$ip -p$port -u$user -p在命令中mysql是客户端工具,用来跟服务器端建立连接,在完成经典的TCP握手后,连接器就开始认证身份,输入用户、密码进行登录:查看连接状态:sho...原创 2019-11-06 19:16:41 · 274 阅读 · 0 评论 -
MySQL 数据库的查询详解
MySQL 数据库的查询详解一、单表查询:1.准备工作:创建查询环境:mysql> CREATE TABLE course (id INT AUTO_INCREMENT PRIMARY KEY, name CHAR(20) NOT NULL, price DECIMAL(8,2) NOT NULL) charset utf8;Query OK, 0 rows affected (...原创 2019-08-22 13:28:31 · 612 阅读 · 4 评论 -
MySQL 视图的详解
MySQL 视图的详解一、视图简介:1.概念:视图是SELECT查询语句所定义的一个虚拟表,是查看数据的一种非常有效的方式。视图包含一系列有名称的数据列和数据行,但视图中的数据并不是实际存在数据库中,视图返回的是查询集。简单说:视图是由查询结果形成的一张虚拟表。2.视图优点:1.可以简化查询:若数据不是直接来源基表,可以通过定义视图,使数据库看起来结构简单、清晰、并且可以简化用户数...原创 2019-08-25 14:05:14 · 649 阅读 · 1 评论 -
MySQL 函数
MySQL 函数一、字符串函数:ASCII(s): 返回字符串 s 的第一个字符的 ASCII 码。mysql> select ASCII('abcd');+---------------+| ASCII('abcd') |+---------------+| 97 |+---------------+1 row in set (0.01 sec)...原创 2019-08-24 16:45:25 · 337 阅读 · 0 评论 -
MySQL 数据类型详解
MySQL 数据类型详解:MySQL中支持多种类型,大致可以分为三大类型:数值、日期/时间、字符串类型。Mysql定义数据字段的类型对数据库的优化非常重要。一、数值类型:1.整型:类型大小范围(有符号)范围(无符号)用途TINYINT1字节(-128,127)(0,255)小整数型SMALLINT2字节(-32 768,32 767)(0,6...原创 2019-08-01 09:52:52 · 503 阅读 · 0 评论 -
MySQL 修改表的基本语法
MySQL 修改表的基本语法在MySQL中使用ALTER TABLE语句来改变原有表的结构。一、添加列:场景:随着业务的变化,可能需要在已经存在的表中添加新的列。语法:ALTER TABLE [表名] ADD [列名称] <列类型> <列参数>;1.添加方式:1.将新的列添加到表的最后:# 首先简单的创建了user表, 有两个列 mobile 与...原创 2019-08-04 13:37:27 · 1311 阅读 · 0 评论 -
MySQL 数据库基础入门
MySQL 数据库基础入门一、简介:1.1.数据:数据就是数据库中存储的基本对象,比如数字1,2,3,4,5,6等,就是简单的一种数据。准备的说:描述事物的符号记录称为数据(描述符号可以是数字、文字、图像、声音等),它们都可经过数字化存入计算机。1.2.数据库:数据库就是存放数据的仓库,这个仓库是在计算机存储设备上,并按一定的格式存放。数据库三个基本特点:1.永久存储:长期存储在计算...原创 2019-07-24 21:51:04 · 729 阅读 · 0 评论