MySQL
文章平均质量分 70
咖啡不提神
这个作者很懒,什么都没留下…
展开
-
运维-主从复制
1.介绍主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。2.优点主库出现问题,可以快速切换到从库提供服务;实现读写分离,降低主库的访问压力;可以在从库中执行备份,以避免备份期间影响主库服务。原创 2023-12-07 15:58:41 · 108 阅读 · 0 评论 -
运维-日志
记录了所有执行时间超过参数 long_query_time 设置值并且扫描记录数不小于 min_examined_row_limit 的所有的SQL语句的日志,默认未开启。该日志是默认开启的,默认存放目录 /var/log/,默认的日志文件名为 mysqld.log。默认情况下,不会记录管理语句,也不会记录不使用索引进行查找的查询。若需要配置二进制日志的格式,只需要在 /etc/my.cnf 中配置 binlog_format 参数。记录了客户端的所有操作语句,而二进制日志不包含查询数据的SQL语句。原创 2023-12-07 15:12:57 · 147 阅读 · 0 评论 -
MySQL管理
语法 : mysqldump [options] db_name [tables] mysqldump [options] --database/-B db1 [db2 db3...] mysqldump [options] --all-databases/-A。--start-datatime=date1 --stop-datetime=date2 指定日期间隔内的所有日志。--start-position=pos1 --stop-position=pos2 指定位置间隔内的所有日志。原创 2023-12-07 13:49:14 · 102 阅读 · 0 评论 -
MySQL-InnoDB引擎
一、逻辑存储结构1.表空间InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在 8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空 间,用于存储记录、索引等数据。2.段主要分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段 (Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子节点, 索引段原创 2023-12-07 10:39:46 · 65 阅读 · 0 评论 -
MySQL-锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。(1)定义:全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都将被阻塞。(2)使用场景:做全库的逻辑备份,对所有的表进行锁定,从而获取一致性视图,保证数据的完整性。(1)定义:表级锁,每次操作锁住整张表。锁定粒度大,发生锁冲突的概率最高,并发度最低。应用在MyISAM、 InnoDB、BDB等存储引擎中。(2)分类:表锁、元数据锁(meta data lock,MDL)、意向锁。原创 2023-12-04 20:26:47 · 43 阅读 · 0 评论 -
视图/存储过程/触发器
(1)存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合;(2)特点封装,复用 :可以把某一业务SQL封装在存储过程中,需要时直接调用即可。可以接收参数,也可以返回数据:再存储过程中,可以传递参数,也可以接收返回值。减少网络交互,效率提升:如果涉及到多条SQL,每执行一次都是一次网络传输。而如果封装在存储过程中,我们只需要网络交互一次可能就可以了。(1)定义用户定义变量:用户根据需要自己定义的变量,用户变量不用提前声明,使用时直接用 "@变量 名" ,其作用域为当前连接。原创 2023-12-03 19:03:37 · 46 阅读 · 0 评论 -
SQL优化
(1)Using filesort : 通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫 FileSort 排序。1.InnoDB的行锁是针对索引加的锁,不是针对记录加的锁 ,并且该索引不能失效,否则会从行锁 升级为表锁,也就是说必须使用索引字段进行更新,否则会出现行锁升级为表锁、(1)根据排序字段建立合适的索引,多字段排序时,也遵循最左前缀法则。(1)满足业务需求的情况下,尽量降低主键的长度。原创 2023-11-26 22:06:41 · 40 阅读 · 0 评论 -
MYSQL-索引
来决定,而选择性是指不重复的索引值(基数)和数据表的记录总数的比值, 索引选择性越高则查询效率越高, 唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的。(2)联合索引:一个索引包含了多个列,如果存在多个查询条件,考虑针对于查询字段建立索引时,建议建立联合索引, 而非单列索引。6. 要控制索引的数量,索引并不是多多益善,索引越多,维护索引结构的代价也就越大,会影响增 删改的效率。(4)用or分割开的条件,如果or前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。原创 2023-11-26 20:13:10 · 47 阅读 · 0 评论 -
SQL-DDL
1.查询2.创建3.删除4.使用use 数据库名;原创 2023-11-22 20:49:42 · 33 阅读 · 0 评论 -
SQL-DML
1.给指定字段添加数据2.给全部字段添加数据3.批量添加数据。原创 2023-11-22 21:37:40 · 38 阅读 · 0 评论 -
SQL-DQl
(1)执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组 之后对结果进行过滤;(1)起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。(2)判断条件不同:where不能对聚合函数进行判断,而having可以。1.介绍:将一列数据作为一个整体进行纵向计算(2.where与having的区别。(1)ASC:升序(默认值);2.常用的比较运算符。3.常用的逻辑运算符。(2)DESC:降序。原创 2023-11-24 20:40:46 · 32 阅读 · 0 评论 -
SQL-DCL
1.查询用户2.创建用户3.修改用户密码4.删除用户5.注意事项(1)主机名可以使用 % 通配;(2)在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。原创 2023-11-24 20:50:31 · 35 阅读 · 0 评论 -
MYSQL-函数
1.字符串函数2.数值函数3.日期函数4.流程函数原创 2023-11-24 21:17:45 · 40 阅读 · 0 评论 -
MYSQL-约束
【代码】MYSQL-约束。原创 2023-11-24 21:31:22 · 33 阅读 · 0 评论 -
SQL-多表查询概述
1.内连接:相当于查询A、B交集部分数据;(1)隐式内连接(2)显式内连接2.外连接(1)左外连接:查询左表所有数据,以及两张表交集部分数据;(2)右外连接:查询右表所有数据,以及两张表交集部分数据;(3)自连接:当前表与自身的连接查询,自连接必须使用表别名。原创 2023-11-25 10:49:32 · 41 阅读 · 0 评论 -
MYSQL-事务
1.查看/设置事务提交方式2.提交事务COMMIT;3.回滚事务ROLLBACK;4.注意:这种方式,我们是修改了事务的自动提交行为, 把默认的自动提交修改为了手动提 交, 此时我们执行的DML语句都不会提交,的执行commit进行提交。原创 2023-11-25 11:09:55 · 45 阅读 · 0 评论 -
MYSQL-存储引擎
如果应用对事务的完整性有比较高的要 求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包含很多的更新、删除操 作,那么InnoDB存储引擎是比较合适的选择。(1)介绍:一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB是默认的 MySQL 存储引擎。MEMORY的缺陷就是对表的大小有限制,太大的表无法缓存在内存中,而且无法保障数据的安全性。(1)介绍:的表数据时存储在内存中的,由于受到硬件问题、或断电问题的影响,只能将这些表作为。原创 2023-11-25 14:55:52 · 37 阅读 · 0 评论