
数据库
文章平均质量分 91
一点一滴g
这个作者很懒,什么都没留下…
展开
-
MySQL之索引详解
索引的概念索引是用来快速检索出具有特定值的记录。如果没有索引,数据库就必须从第一条记录开始进行全表扫描,直到找出相关的行。数据越多,检索的代价就越高,检索时如果表的列存在索引,那么MySQL就能快速到达指定位置去搜索数据文件,而不必查看所有数据。索引类型B-Tree索引最常见的索引类型,基于B-Tree数据结构。B-Tree的基本思想是,所有值(被索引的列)都是排过序的,每个叶节点到跟...原创 2019-04-15 17:08:56 · 224 阅读 · 0 评论 -
Mysql集群常见方案
Mysql主从架构使用双节点数据库,搭建单向或者双向的半同步复制。通常会和proxy、keepalived等第三方软件同时使用,即可以用来监控数据库的健康,又可以执行一系列管理命令。如果主库发生故障,切换到备库后仍然可以继续使用数据库。优点:架构比较简单,使用原生半同步复制作为数据同步的依据;双节点,没有主机宕机后的选主问题,直接切换即可;双节点,需求资源少,部署简单;缺点:完...原创 2019-08-09 22:09:59 · 1455 阅读 · 0 评论 -
MySQL和Redis的区别
1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限。2.mysql的运行机制mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反...原创 2018-11-19 16:29:28 · 36438 阅读 · 2 评论 -
MySQL之EXPLAIN详解
EXPLAIN Output Columns列名说明id执行编号,标识select所属的行。如果在语句中没子查询或关联查询,只有唯一的select,每行都将显示1。否则,内层的select语句一般会顺序编号,对应于其在原始语句中的位置select_type显示本行是简单或复杂select。如果查询有任何复杂的子查询,则最外层标记为PRIMARY(DERIVED、UN...原创 2019-04-23 10:58:18 · 90 阅读 · 0 评论 -
数据库事务详解
什么是事务事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。事务的ACID原子性(Atomicity)事务的原子性是指事务必须是一个原子的操作序列单元。事务中包含的各项操作在一次执行过程中,只允许出现两种状态之一。·全部执行成功·全部执行失败任何一项操作都会导致整个事务的失败,同时其它已经被执行的操作都将被撤销并回滚,只有所有的...原创 2019-04-15 13:09:50 · 291 阅读 · 0 评论 -
MySQL存储引擎详解
数据库引擎数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。 使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。数据库引擎任务设计并创建数据库以保存系统所需的关系或XML文档实现系统...原创 2019-04-14 23:51:41 · 589 阅读 · 0 评论 -
MySQL概述
前言瑞典MySql AB公司开发(AB是瑞典股份公司缩写),2008年被Sun收购,2009年Sun被Oracle收购。MySQL目前属于Oracle公司。什么是数据库数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。直白来说:文件系统,数据的仓库数据库管理系统:指一种操作和管理数据库的大型软件,用于建立、使用和维...原创 2019-04-14 23:05:21 · 444 阅读 · 0 评论 -
SQL执行顺序
SQL语句的解析顺序(8)SELECT(9)DISTINCT <select_list>(1)FROM <left_table>(3)<join_type> JOIN <right_table>(2)ON <join_condition>(4)WHERE <where_condition>(5)GROUP BY ...原创 2019-04-17 10:25:39 · 133 阅读 · 0 评论 -
MySQL分库分表
MySQL扩展具体的实现方式随着业务规模的不断扩大,需要选择合适的方案去应对数据规模的增长,以应对逐渐增长的访问压力和数据量。关于数据库的扩展主要包括:业务拆分、主从复制、读写分离、数据库分库与分表等。(1)业务拆分为什么进行业务的拆分,归根结底上还是使用的将不同的业务数据表部署到不用的服务器上,分别查找对应的数据以满足网站的需求。各个应用之间用过指定的URL连接获取不同的服务,例如一个...原创 2019-04-16 20:05:42 · 190 阅读 · 0 评论 -
浅谈SQL注入
什么是SQL注入SQL注入是影响企业运营最具有破坏性的漏洞之一。应用程序向后台数据库进行SQL查询时,如果为攻击者提供了影响该查询的能力,就会引起SQL注入。初步注入–绕过验证,直接登录中级注入–借助异常获取信息。危害扩大–获取服务器所有的库名、表名、字段名最终目的–获取数据库中的数据SQL注入不仅能通过输入框,还能通过Url达到目的。除了服务器错误页面,还有其他办法获取到...原创 2019-04-16 19:27:09 · 519 阅读 · 0 评论 -
数据库并发控制详解
概述1. 什么是并发控制?数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间处于闲置状态。因此,为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库。但这...原创 2019-04-16 11:05:20 · 7586 阅读 · 0 评论 -
mysql的日志文件
MySQL中有六种日志文件,分别是:重做日志(redo log)回滚日志(undo log)二进制日志(binlog)错误日志(errorlog)慢查询日志(slow query log)一般查询日志(general log)中继日志(relay log)。重做日志(redo log)重做日志记录的是物理页面的修改信息,其redo log是顺序写入redo log file的物理...原创 2019-09-06 10:44:38 · 596 阅读 · 0 评论