![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 66
代码界的可儿
这个作者很懒,什么都没留下…
展开
-
MySql_查询流程
1、查询sql语句,解析sql语句2、查询缓存,如果命中直接返回,没有则继续3、解析器解析sql语句,生成解析树4、调用预处理,检查表明、列名,处理别名5、查询优化器,生成最优计划6、调用存储引擎,查询数据7、返回结果(生成第一条查询结果时就开始逐步返回,所以服务器不需要暂存结果)——————————————数据库问答————————————————————————1、数据库和实例的关系?数据库和实例一一对应,我们无法直接操作数据库,而是要通过数据库实例...原创 2021-08-19 10:28:11 · 310 阅读 · 0 评论 -
MySql——索引
1、什么是索引?数据库索引是对数据库表中一列或多列的值进行排序的一种结构,目的是可快速访问数据库表中的特定信息。索引按物理存储结构分类分为:聚簇索引和非聚簇索引,聚簇索引是按数据存放的物理位置为顺序(只能有一个),而非聚簇索引位置没有规律。按功能分:主键索引、唯一索引、联合索引、普通索引使用索引的好处是:大大提高数据的检索速度、排序速度,提高性能;当然,不是对所有的数据表和列都使用:比如数据量很少时,用索引不会明显提高性能,还增加额外空间; 还有,比如经常需要删除修改的列增加了索引,会大原创 2021-08-19 10:26:29 · 101 阅读 · 0 评论 -
MySQL_分库分表
分库分表:原来数据库是单机服务器,随着业务数据越来越多,表越来越大,读写的性能都会下降,这时就要考虑进行分库分表了。划分的方式有:①按业务进行垂直划分,不同的业务数据划分在不同的表;②按某种规则将大表拆分成小表拆分之后可能会面临的问题:①分布式事务问题,原来一个库就能完成的事情,现在分多个库后要保证多个库的一致性 ②跨库join的问题,原来一次查询能够完成的事情,现在要分多次查询才能完成一、数据切分的方式有哪些?1、垂直切分:把不同的业务数据放在不同的数据服务器上,一个服务器崩了原创 2021-08-19 10:24:55 · 102 阅读 · 0 评论 -
MySQL_锁机制
数据库锁机制数据库锁机制是为了保证数据的一致性,使得共享资源在被并发线程访问时变的有序的一种规则。从锁的粒度上可以分为行级锁、页级锁、表锁,从锁的方式又可以分为乐观锁和悲观锁,乐观锁是默认别人不会修改数据,只在提交时锁数据;悲观锁是默认别人都会动数据,从一开始就锁起来。 mysql不同的引擎有不同的特点所以使用的锁方式也不同,MyISAM用的是表级锁,成本低资源消耗少,但是出现的并发量大,需要将query时间变小;InnoDB用的是行级锁,粒度小,支持的并发量大,但成本高容易死锁,需要优化索引将检索的范原创 2021-08-19 10:22:43 · 68 阅读 · 0 评论 -
数据库锁策略
一、从策略上分:乐观锁、悲观锁乐观锁:每次去读数据都认为其它事务没有在写数据,所以就不上锁,快乐的读取数据,而只在提交数据的时候判断其它事务是否搞过这个数据了,如果搞过就rollback。乐观锁相当于一种检测冲突的手段,可通过为记录添加版本或添加时间戳来实现。悲观锁:每次读数据的时候都会上锁,直到取出数据。悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性,但随之而来的是各种开销。悲观锁相当于一种避免冲突的手段。二、从读写角度上分:共享锁、排它锁共享锁(S锁,Shar.原创 2021-07-14 23:15:46 · 132 阅读 · 0 评论 -
SQL语言
SQL的作用:客户端使用SQL来操作服务器DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别DQL(Data Query Language):数据查询语言,用来查询记录(数据)一、数据定义语言 DDL:定义数据库对象、库、表、原创 2021-07-14 23:09:57 · 76 阅读 · 0 评论 -
《MySQL必知必会》——创立联结
联结表关系表的设计就是要保证把信息分解成多个表,一类数据一个表。各个表通过某些常用值(即关系设计中的关系)相互关联。联结是一种机制,用来在一条SELECT 语句中关联表可伸缩性:能够适应不断增加的工作量而不失败。主键:用来唯一标示某一行的列称为主键外键:表中的一列,包含了另外一个表的主键值,定义了两个表的关系。 SELECT id,name,price FROM table...原创 2019-03-15 23:19:47 · 124 阅读 · 0 评论 -
《MySQL必知必会》——事务处理
事务处理事务处理可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。事务:指一组SQL语句回退:指撤销指定SQL语句的过程提交:指将未存储的SQL语句结果写入数据库表保留点:指事物处理中设置的临时占位符管理事务处理的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,何时不应该回退。标示事务的开始:STAR TRANSACTION回退...原创 2019-03-15 23:18:43 · 149 阅读 · 0 评论 -
《MySQL必知必会》——游标、触发器
游标游标cursor是一个存储在MySQL服务器上的数据库查询。它不是一条SELECT语句,而是被该语句检索出来的结果集,在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。MySQL游标只能用于存储过程(函数)。使用游标的步骤:在使用游标之前,必须先声明它。声明之后,必须打开游标以供使用对于填有数据的游标,根据需要取出各行在结束游标使用时,必须关闭游标C...原创 2019-03-15 23:18:59 · 152 阅读 · 0 评论 -
《MySQL必知必会》—— 数据过滤
《MySQL必知必会》—— 数据过滤操作符操作符是用来联结或改变WHERE子句中的子句的关键字,也称为逻辑操作符。AND操作符AND操作符用来检索满足所有给定条件的行。SELECT id,name from tables WHERE id=1001 AND name=‘LINING’;OR操作符OR操作符用来检索匹配到的任意一行。SELECT name,id from ...原创 2019-03-15 23:20:19 · 130 阅读 · 0 评论 -
《MySQL必知必会》——视图、存储过程
视图视图是虚拟的表,只包含使用时动态检索数据的查询。视图常见的应用:重用sql语句简化复杂的sql操作,在编写查询后,可以方便地重用它而不必知道基本查询细节使用表的组成部分而不是整张表保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。更改数据格式和表示,视图可返回与底层表的表示和格式不同的数据。在视图创建后,可以用与表基本相同的方式利用它们,可以对视图进行S...原创 2019-03-15 23:19:12 · 152 阅读 · 0 评论 -
《MySQL必知必会》——插入、更新、删除
插入数据用INSERT语句把数据插入到行中。INSERT语句一般都不会产生输出。INSERT INTO tables VALUES ('1001','LINING','18');如果表的定义允许,可以在INSERT操作中省略某些列。省略的列必须满足以下某个条件:该列定义为允许null的值在表定义中给出默认值,如果不给出值,将使用默认值由于INSERT操作可能非常耗时,而且它可能...原创 2019-03-15 23:19:26 · 115 阅读 · 0 评论 -
《MySQL必知必会》——组合查询
组合查询MySQL允许执行多个查询,并将结果作为单个查询结果集返回,这些组合查询通常称为并获复合查询。有两种基本情况,需要使用组合查询:在单个查询中从不同的表返回类似结构的数据对单个表执行多个查询,按单个查询返回数据使用UNION关键字来组合多个查询,将它们的结果组成单个结果集。规则:UNION必须由两条或两条以上的SELECT语句组成,语句之间用关键字UNION分隔每...原创 2019-03-15 23:19:35 · 124 阅读 · 0 评论 -
《MySQL必知必会》——分组查询&子查询
分组查询创建分组分组允许把数据分为多个逻辑组,以便能对每个组进行聚集计算。分组是在SELECT 语句中的GROUP BY子句中建立的。GROUP BY子句中列出的每个列都必须是检索列或有效的表达式,不能是聚集函数。如果在SELECT中使用表达式,则必须在GROUP BY子句中指定相同的表达式,不能使用别名。SELECT id count(*) AS num from tables ...原创 2019-03-15 23:19:57 · 303 阅读 · 0 评论 -
《MySQL必知必会》——函数
《MySQL必知必会》——函数拼接函数 concat()concat()函数把多个串连接起来形成一个较长的串,各个串之间用逗号分隔。SELECT Concat(name,'(',nickname,')') from tables;删除空格 trim()trim()去掉串两边的空格。rtrim()去掉字符串右边的空格ltrime()去掉字符串左边的空格使用别名 AS...原创 2019-03-15 23:20:10 · 109 阅读 · 0 评论 -
《MySQL必知必会》——查询语句
《MySQL必知必会》——查询语句查询语句是使用数据库的基本语法,为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么数据,以及从什么地方选择。检索数据检索单个列 SELECT name from tables;此时查询出来的数据是不带任何排序的。检索多个列SELECT id,name,price from tables;以上是列举出要检索的三个列,如果要...原创 2019-03-15 23:20:39 · 183 阅读 · 0 评论 -
《MySQL必知必会》——学习总结
MySQL必知必会——学习总结今天开始决定好好系统的学习一下数据库,给这本买了两年的《MySQL必知必会》去去灰。这也是我第一次写博客,小小的记录一下吧。hello MySQL全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的...原创 2019-03-15 23:20:29 · 293 阅读 · 0 评论