当前位置: 首页 > news >正文

【数据库】MySQL(索引、数据结构、性能、锁、事务等)面试题

InnoDB和MyISAM的区别

  1. MyISAM只支持表级锁,InnoDB支持行级锁;
  2. MyISAM是非事务安全型的,InnoDB是事务安全型的;
  3. 如果执行大量的SELECT,MyISAM更好;如果执行大量的INSERT或UPDATE,InnoDB更好;
  4. 执行SELECT COUNT(*)时,MyISAM只要读出保存好的行数即可;InnoDB中不保存表的行数,需要扫描一遍整表。但是如果语句包含WHERE条件时,两种引擎的操作是一样的;
  5. MyISAM不支持外键,InnoDB支持。

InnoDB的索引结构

  • 主键索引的叶子节点存储的是行数据的内容(聚簇索引)。
  • 普通索引的叶子节点存储的是主键的值(非聚簇索引/二级索引)。

如果使用普通索引进行查询,会先通过普通索引查找到记录的主键,然后再根据主键索引树查找到对应的记录行,这个过程称为回表。

InnoDB如何保证持久性和原子性

redo-log保证持久性,undo-log保证原子性。

InnoDB如何使用内存

因为CPU速度和磁盘速度差距很大,为了提高效率,设立缓冲池。

缓冲池大小直接影响数据库性能,可用过innodb_buffer_pool_size设置。

缓冲池数据页类型主要包括:索引页、数据页、u

相关文章:

  • Cython代码加密, 使用 Cython 将 Python 代码编译为二进制(将整个Django项目编译成功并部署)
  • C# 程序开机自动启动
  • html2canvs的一些问题
  • 金仓数据库 KingbaseES 插件参考手册 S(3)
  • Flutter聊天布局之图片视频上传、显示、保存到相册
  • Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution
  • 基于SSM框架实现学生管理系统
  • JavaScript聊天框插入表情: 点击表情时输入框失焦, 无法插入到输入框.
  • 使用esxcli命令升级VMware ESXi补丁
  • java调用python文件的几种方式【超细讲解!】
  • c++ 关于bfs和dfs的相对统一写法
  • 2023年湖北三类人员安全员A证报考条件需要什么资料?
  • Maven进阶-多环境开发与跳过测试
  • Activiti7工作流引擎
  • 物联网边缘-物联网准入或接入安全防护产品及解决方案
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • Android Studio:GIT提交项目到远程仓库
  • Codepen 每日精选(2018-3-25)
  • Date型的使用
  • Java精华积累:初学者都应该搞懂的问题
  • Octave 入门
  • php面试题 汇集2
  • Vue 动态创建 component
  • Vue.js-Day01
  • 阿里研究院入选中国企业智库系统影响力榜
  • 服务器从安装到部署全过程(二)
  • 经典排序算法及其 Java 实现
  • 力扣(LeetCode)21
  • 使用docker-compose进行多节点部署
  • 用Canvas画一棵二叉树
  • 用简单代码看卷积组块发展
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​插件化DPI在商用WIFI中的价值
  • !!java web学习笔记(一到五)
  • # 计算机视觉入门
  • #Ubuntu(修改root信息)
  • #宝哥教你#查看jquery绑定的事件函数
  • #传输# #传输数据判断#
  • (12)Hive调优——count distinct去重优化
  • (3)STL算法之搜索
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十一)c52学习之旅-动态数码管
  • (四) 虚拟摄像头vivi体验
  • (一)kafka实战——kafka源码编译启动
  • (一)Linux+Windows下安装ffmpeg
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失