1.执行一条SQL请求的过程是什么?

2.讲一讲mysql的引擎吧,你有什么了解?

在 MySQL 中,存储引擎相当于“数据的管理方式”, 它决定了表的数据在磁盘上的存储方式、是否支持事务、是否支持行锁、崩溃恢复等功能。

特性InnoDB(默认)MyISAMMemory
是否支持事务✅ 支持 ACID 事务❌ 不支持❌ 不支持
锁粒度行级锁(并发高)表级锁(并发低)表级锁
崩溃恢复能力✅ 有 Redo Log(可恢复)❌ 无恢复能力❌ 数据存内存,重启丢失
外键支持✅ 支持❌ 不支持❌ 不支持
适用场景高并发读写、金融、电商以读为主的查询统计临时表、缓存数据(速度快)

3.**MySQL为什么InnoDB是默认引擎?

  • 支持ACID事务
  • 行级锁下并发高,不会把整张表锁住
  • 有redoLog,可以恢复数据
  • 支持外键,保证数据的完整性
  • 聚簇索引结构 → 主键顺序存储,读写效率高。4.索引

4.说一下mysql的innodb与MyISAM的区别?

  • 事务
  • MyISAM是非聚簇索引结构,数据文件是分离的,索引保存的是数据文件的指针。主键索引和辅助索引是独立的。innodb下,文件放在主键索引的叶子结点下,索引效率高,但辅助索引需要两查询,先查询主键在查询数据,故主键不应过大,而导致其他索引也很大
  • 锁力度
  • MyISAM用一个变量存储了整个行数,而innodb需要扫描全表

5.数据管理里,数据文件大体分成哪几种数据文件?

当你在 MySQL 中创建一个数据库和表(例如 database = my_test,表 = t_order)时,MySQL 会在数据目录 /var/lib/mysql/my_test/ 下生成多个文件。 ​ 这些文件就是表的元数据文件数据文件,它们分别承担不同的作用:

文件名说明作用
db.opt数据库级别配置文件保存当前数据库的默认字符集字符校验规则
t_order.frm表结构定义文件保存表的元数据信息,包括列名、数据类型、索引、约束等表结构定义。MySQL 中每创建一张表都会生成对应的 .frm 文件。
t_order.ibdInnoDB 独立表空间文件保存表的真实数据和索引。从 MySQL 5.6.6 起默认开启 innodb_file_per_table=1,所以每张表都会对应一个独立的 .ibd 文件。

⚙️ 说明与补充

  • 如果 innodb_file_per_table=0,那么表数据不会存在单独的 .ibd 文件中,而是放进共享表空间文件(通常是 ibdata1)。
  • .frm 文件属于 MySQL Server 层,而 .ibd 属于 InnoDB 存储引擎层。
  • db.opt 是可选文件,用于存储数据库层级的默认配置,不影响具体表结构或数据。