数据库
数据库数据库数据库
落英神剑碧海潮生
桃花影落飞神剑,碧海潮生按玉箫
展开
-
Mysql中的锁&数据库事务
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。打个比方,我们到淘宝上买一件商品,商品只有一件库存,这个时候如果还有另一个人买,那么如何解决是你买到还是另一个人买到的问题?这里肯定要用到事务,我们先从库存表中取出物品数量,然.原创 2020-08-29 20:44:08 · 240 阅读 · 0 评论 -
Mysql索引优化
单表优化案例多表优化案例遵循最左前缀匹配原则上述索引索引失效的原因:复合索引是将各个索引字段做字符串连接后作为key,使用时将整体做前缀匹配。就是最左前缀匹配(最左前缀法则)。如果索引了多列,要遵守最左前缀法则。比如(a,b,c)的时候,B+树是按照从左到右的顺序来建立搜索树的,比如(where a=? and b=? and c=?)当有数据来检索时会先比较a列来确定下一步的搜索方向,如果a列相同再一次比较b列和c列。最后得到检索的数据。上面(where b=? )和(where原创 2020-08-27 15:00:38 · 880 阅读 · 0 评论 -
MySql索引底层结构&SQL性能分析
SQL优化,为什么需要sql优化,因为很多时候我们的sql性能比较低,执行效率慢。导致这种情况产生的原因主要是以下几点:查询语句写的不好 索引失效 关联查询太多join(设计缺陷或不得已的需求) 服务器调优及各个参数设置(缓冲、线程数等)优化SQL主要就是优化索引。什么是索引?MySQL 官方对索引的定义为:索引(Index)是帮助 MySQL 高效获取数据的数据结构。可以得到索引的本质:索引是数据结构。可以简单理解为排好序的快速查找数据结构。在数据之外,数据库系统还维护着满..原创 2020-08-25 19:26:14 · 206 阅读 · 0 评论 -
MySql中sql语句的执行顺序
下图显示了sql语句的书写顺序和真正执行的顺序的关系:实际执行顺序如下:from子句:左右两个表做笛卡儿积。笛卡尔积(多表查询):笛卡尔积是两个集合的运算。如下图两张表A和B。A表有字段a,b和c;B表有字段a和d;A表有3条记录,B表有2条记录。A表和B表的结果是一个二维表A*B;A*B表的字段是两个表字段的并集,即,有5个字段。分别为A.a, b, c, B.a和d。A*B表的记录是A表的每一条记录与B表的每一条记录依次生成一条新纪录,共6条。一个具体的实例:.原创 2020-08-24 16:15:52 · 650 阅读 · 0 评论 -
Mysql逻辑架构
逻辑架构图如上图将Mysql架构分成4层:一、连接层连接层属于最上层,是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现的类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全链接。服务器也会为安全接入的每个客户端验证它所具有的操作权限。Connectors:表明可以使用不同语言进行SQL交互。Connection Pool:.原创 2020-08-24 12:24:24 · 131 阅读 · 0 评论 -
MySql初级入门
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。如何使用终端操作数据库?如何登录数据库服务器打开命令行窗口输入:mysql -hlocalhost -uroot -proot其中h就是host u和p就是你配置的user和password。一般会省略参数-h ,mysql会自动默认为本地连接。-u后面可以有空格也可以省略空格。对于-p如果你明确指出了密码值(我这里是root),,那么-p和密码值之间是不能.原创 2020-08-23 10:57:20 · 186 阅读 · 0 评论