什么是存储过程

举报
上善若水. 发表于 2022/09/12 00:28:30 2022/09/12
【摘要】 什么是存储过程?存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。 存储过程和函数的区别?1)返回值的区别:函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有。 2)调用的区别:,函数可以在查询语句中直接调用,而存储过程必须单独调用。 ref 存储过...

什么是存储过程?

存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。

 

存储过程和函数的区别?

1)返回值的区别:函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有。

 

2)调用的区别:,函数可以在查询语句中直接调用,而存储过程必须单独调用。

 

ref 存储过程(procedure)和函数(Function)的区别

 

 触发器集群

 日志

MySQL 中有哪些常见日志?

重做日志(redo log):物理日志

作用是确保事务的持久性。 redo 日志记录事务执行后的状态,用来恢复未写入 data file 的已提交事务数据。

 

回滚日志(undo log):逻辑日志

作用是保证数据的原子性。 保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即非锁定读。

 

二进制日志(binlog):逻辑日志

常用于主从同步或数据同步中,也可用于数据库基于时间点的还原。

 

错误日志(errorlog

记录着 MySQL 启动和停止,以及服务器在运行过程中发生的错误的相关信息。在默认情况下,系统记录错误日志的功能是关闭的,错误信息被输出到标准错误输出。

 

普通查询日志(general query log

记录了服务器接收到的每一个命令,无论命令语句是否正确,因此会带来不小开销,所以也是默认关闭的。

 

慢查询日志(slow query log

记录执行时间过长和没有使用索引的查询语句(默认 10s),同时只会记录执行成功的语句。

 

中继日志(relay log

在从节点中存储接收到的 binlog 日志内容,用于主从同步。

 

ref MySQL中的几种日志了解

 

主从复制

什么是主从复制?

主从复制是用来建立一个与主数据库完全一样的数据库环境,即从数据库。主数据库一般是准实时的业务数据库。

 

主从复制的作用?

读写分离,使数据库能支撑更大的并发。

高可用,做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。

主从复制的架构?

一主一从或一主多从

在主库的请求压力非常大时,可通过配置一主多从复制架构实现读写分离,把大量对实时性要求不是很高的请求通过负载均衡分发到多个从库上去读取数据,降低主库的读取压力。而且在主库出现宕机时,可将一个从库切换为主库继续提供服务。

 

主主复制

双主复制架构适用于需要进行主从切换的场景。 两个数据库互为主从,当主库宕机恢复后,由于它还是原来从库(现在主库)的从机,所以它还是会复制新的主库上的数据。那么无论主库的角色怎么切换,原来的主库都不会脱离复制环境。

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。