首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql面试题1:MySQL有哪些常见存储引擎?MySQL默认是哪个存储引擎?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL有哪些常见存储引擎?...MySQL有以下几种常见的存储引擎: InnoDB:默认存储引擎,支持事务处理、行级锁定和外键约束等特性,适用于大部分应用场景。...MyISAM:在早期版本的MySQL中常用的存储引擎,适用于读频繁的应用,但不支持事务处理和行级锁定。...NDB:适用于高可用性和高并发读写的存储引擎,具备分布式数据库的特性,用于构建MySQL Cluster。 另外,还有一些其他的存储引擎如Merge、Federated等,但使用较为有限。...面试官:MySQL默认是哪个存储引擎? MySQL默认存储引擎是InnoDB。

6600
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL存储过程_MySQL创建存储过程

    delimiter 指定SQL语句的结束符 存储过程中的变量 在MySQL中,变量一般可分为分为三种类型: 系统变量、用户定义变量、局部变量; 一、系统变量 系统变量是MySQL服务器系统自身提供的...设置系统变量 SET [ SESSION | GLOBAL ] 系统变量名 = 值 ; SET @@[SESSION | GLOBAL]系统变量名 = 值 ; 如果没有指定SESSION/GLOBAL,默认是...注意点: mysql服务重新启动之后,所设置的全局参数会失效,要想不失效,可以在 /etc/my.cnf 中配置; 全局变量(GLOBAL): 全局变量针对于所有的会话; 会话变量(SESSION):...,主要分为以下三种:IN、OUT、INOUT; 类型 含义 备注说明 IN 该类参数作为输入,也就是需要调用时传入值 默认 OUT 该类参数作为输出,也就是该参数可以作为返回值 INOUT 既可以作为输入参数...循环语句在编程中经常被用到,常用于对批量的数据进行循环处理,在mysql存储过程中,也提供了几种常用的循环语句,包括:while循环,repeat循环,和loop循环; 1、while循环语句 while

    22.2K21

    MySQLMySQL 存储过程

    MySQL 存储过程(了解) 1 什么是存储过程 MySQL 5.0 版本开始支持存储过程 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据 库对象。...存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过 指定存储过程的名字并给定参数(需要时)来调用执行。 简单理解: 存储过程其实就是一堆 SQL 语句的合并。...中间加入了一些逻辑控制 2 存储过程的优缺点 优点:   存储过程一旦调试完成后,就可以稳定运行,(前提是,业务需求要相对稳定,没有变化)   存储过程减少业务系统与数据库的交互,降低耦合...,数据库交互更加快捷(应用服务器,与 数据库服务器不在同一个地区) 缺点:    在互联网行业中,大量使用MySQLMySQL存储过程与Oracle的相比较弱,所以较少使用,并且互联网行业需求变化较快也是原因之一...goods; END $$ 3) 调用存储过程 语法格式 call 存储过程名 -- 调用存储过程 查询goods表所有数据 call goods_proc; 方式2 1) IN 输入参数:表示调用者向存储过程传入值

    16.1K10

    mysql默认的隔离级别

    默认是可重复读” 面试官:“为什么mysql选可重复读作为默认的隔离级别?” (你面露苦色,不知如何回答!) 面试官:"你们项目中选了哪个隔离级别?为什么?" 你:“当然是默认的可重复读,至于原因。。...Mysql默认的事务隔离级别是可重复读(Repeatable Read),那互联网项目中Mysql也是用默认隔离级别,不做修改么?...正文 我们先来思考一个问题,在Oracle,SqlServer中都是选择读已提交(Read Commited)作为默认的隔离级别,为什么Mysql不选择读已提交(Read Commited)作为默认隔离级别...而这种格式在读已提交(Read Commited)这个隔离级别下主从复制是有bug的,因此Mysql将可重复读(Repeatable Read)作为默认的隔离级别!...奈何这个格式在mysql5.1版本开始才引入。因此由于历史原因,mysql默认的隔离级别设为可重复读(Repeatable Read),保证主从复制不出问题!

    2.9K20

    MySQL有哪些存储引擎(MySQL存储引擎大全)

    MyISAM在所有MySQL版本里被支持;不支持事务处理;它是MySQL默认存储引擎; MEMORY MEMORY存储引擎,别称HEAP存储引擎;提供“内存中”表,将数据存储在内存中。...MEMORY存储引擎不支持事务处理;MySQL的所有版本都支持InnoDB存储引擎;注释:MEMORY存储引擎正式地被确定为HEAP引擎。...InnoDB存储引擎;它支持事务处理; BDB BDB存储引擎,别名BERKELEYDB;BDB存储引擎提供事务安全表;mysql 5.1以下版本才支持此存储引擎; EXAMPLE EXAMPLE存储引擎是一个...你可以用这个引擎创建表,但没有数据被存储于其中或从其中检索。这个引擎的目的是服务,在MySQL源代码中的一个例子,它演示说明如何开始编写新存储引擎。同样,它的主要兴趣是对开发者。...NDB NDB存储引擎,别名NDBCLUSTER;NDB Cluster是被MySQL Cluster用来实现分割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制分发版里提供。

    6.2K41

    mysql存储过程执行_mysql存储过程不执行

    实战mysql存储程序与定时器 存储过程定时器eventprocedure实战 需求:一个庞大的日志表,现每天做定时统计一天的总数,放另一个表中,方便查看,运营。...本文重点,用mysql定时器定时执行存储程序。...第一步:编写存储程序(需了解基本的存储程序的语法) Sql代码 create procedure inproc() begin declare done int default 0; declare a...代码 delimiter $$ 执行完成后再 Sql代码 delimiter ; 用show查看是否已经成功 Sql代码 show procedure status like ‘%%’; 第二步:开启mysql...定时器 如果不是on,就执行 Sql代码 set global event_scheduler=1; 不需要重启mysql 会发现mysql多起了一个daemon进程 (注: 对于我们线上环境来说,使用

    16.6K20

    Mysql存储引擎

    当别人问我Mysql存储引擎的时候,我就知道Myisam和innodb 虽然知道有其他的存储引擎,但是从来没有去了解过今天了解一下扩充知识 查看Mysql存储引擎 show engines; MyISAM...Mysql 5.5之前默认存储引擎 MyISAM存储引擎由MYD和MYI组成 ?  ...适用场景: 非事物型应用(数据仓库,报表,日志数据) 只读类应用 空间类应用(空间函数,坐标) INNODB MySql5.5以及以后版本默认存储引擎 innodb_file_per_table   ....frm表结构 .ibd数据+索引 聚集索引 mysql5.6以前默认为系统表空间 系统表空间和独立表空间 系统表空间无法简单的收缩文件大小 独立表空间可以通过optimize table 收缩系统文件...特点:   提供了远程访问Mysql服务器上的表的方法   本地不存储数据,数据全部放到远程服务器上   本地需要保存表结构和远程服务器的链接信息  使用场景:   偶尔的统计分析及手工查询 这个存储引擎默认是不开启的如果需要使用需要手动开启

    3.1K20

    MySQL 存储函数

    1.简介 MySQL 存储函数(Stored Function)和存储过程类似,也是存储在数据库中的程序,但它会返回一个计算结果。...存储函数可以和内置函数或者表达式一样用于 SQL 语句,可以提高代码的可读性以及可维护性。 MySQL 存储过程和存储函数统称为存储例程(Stored Routine)。...在创建存储函数时还可以指定一些可选的属性,这些属性与创建存储过程时的属性是一致的。关于这些属性的含义请参见 MySQL 存储过程。 下面是创建函数的一个实例。...DETERMINISTIC 属性表示这是一个确定性函数,对于相同的输入参数一定会返回相同的结果;MySQL 默认创建的是非确定性函数(NOT DETERMINISTIC)。...与存储过程不同的是,使用 mysql 客户端创建存储函数没有必要自定义分隔符,因为函数定义不包含语句分隔符分号。

    39910

    MySQL 存储过程

    1.1 简介 1.1.1 概述   MySQL 5.0 版本开始支持存储过程。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。...④ 存储过程可以用在数据检验,强制实行商业逻辑等。 ☞ 缺点  ① 存储过程,往往定制化于特定的数据库上,因为支持的编程语言不同。当切换到其他的数据库系统时,需要重写原有的存储过程。  ...☞ 注意  ① 参数模式默认为 in。  ② 一个存储过程可以有多个输入、多个输出、多个输入输出参数。...() begin # default 是指定该变量的默认值 declare sum int default 0; declare i int default...1.2.3 调用存储过程 ☞ 语法 call 存储过程名称(参数列表); ☞ 示例 mysql> call showtest; +----+-------+ | id | money | +----+-

    13.4K31

    MySQL存储过程

    MySQL存储过程 存储过程是数据库的一个重要的功能,MySQL 5.0以前并不支持存储过程,这使得MySQL在应用上大打折扣。...默认以";"为分隔符,如果没有声明分割符,则编译器会把存储过程当成SQL语句进行处理,因此编译过程会报错,所以要事先用“DELIMITER //”声明当前段分隔符,让编译器把两个"//"之间的内容当做存储过程的代码...MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT: IN参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值 OUT:该值可在存储过程内部被改变...数据类型 [默认值]; 数据类型为MySQL的数据类型: 数值类型 ? 日期和时间类型 ? 字符串类型 ?...注释 MySQL存储过程可使用两种风格的注释: 双杠:--,该风格一般用于单行注释 C风格: 一般用于多行注释 MySQL存储过程的调用 用call和你过程名以及一个括号,括号里面根据需要,加入参数

    13.7K30

    Mysql存储引擎

    前言 MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应的引擎。MySQL支持的存储引擎有很多,常用的是:InnoDB,MyISAM。...:  查看Mysql数据库的默认引擎指令: show variables like '%storage_engine%'; 1.1 InnoDB InnoDB存储引擎是Mysql默认引擎。...外键约束 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候,也会自动的创建对应的索引。...SET NULL则表示父表在更新或删除时,子表对应字段值被设置为NULL(不过要求该外键允许为空) 不写ON DELETE ON UPDATE 默认为RESTRICT级别。...MEMORY类型的表访问非常地快,因为他的数据是存放在内存中的,并且默认使用HASH索引,但是服务一旦关闭,表中的数据就会丢失。

    19120

    MySQL存储引擎

    文章目录 MySQL存储引擎 一、查看修改存储引擎 二、主要引擎介绍 1、MyISAM引擎 2、InnoDB 引擎 3、MEMORY 引擎 MySQL存储引擎 一、查看修改存储引擎 查看mysql提供什么存储引擎...: show engines; 查看默认存储引擎: show variables like '%storage_engine%'; #或 SELECT @@default_storage_engine...; 修改默认存储引擎: SET DEFAULT_STORAGE_ENGINE=MyISAM; #或者修改 my.cnf 文件 default-storage-engine=MyISAM # 重启服务...: 表名.frm 存储表结构(MySQL8.0时,合并在表名.ibd中) 表名.ibd 存储数据和索引 注:索引采用聚集索引,索引和数据存储在同一个文件 对比MyISAM: 对比MyISAM的存储引擎,...之后,默认采用InnoDB引擎 3、MEMORY 引擎 主要特点: Memory同时 支持哈希(HASH)索引 和 B+树索引 Memory采用的逻辑介质是 内存,响应速度很快 MEMORY 表的大小是受到限制

    2.4K40
    领券