前言:
之前整理公司面试题的时候,看了一篇大神些 SQL 优化之六脉神剑 文章,写的真好!
博主有一些 MySQL 的面试题,简单抽了一个备注一下,补充一下自己不熟悉的地方。
一、在MySQL中,有两个复合索引(A,B)和(C,D),以下语句会怎样使用索引?可以做怎样的优化?
SELECT * FROM TAB WHERE (A=? AND B=?) OR (C=? AND D=?)
答案:根据MySQL的机制,只会使用到一个筛选效果好的复合索引。
可以做如下优化:
SELECT * FROM TAB WHERE A=? AND B=?
UNION
SELECT * FROM TAB WHERE C=? AND D=?;
二、在MySQL中,如何分析一条SQL语句的执行性能?需要关注哪些信息?
答案:使用 EXPLAIN 命令。
观察 TYPE 列,可以知道是否是全表扫描,可以知道索引的使用形式;
观察 KEY 可以知道使用了哪个索引;
观察 KEY_LEN 可以知道索引是否使用完成;
观察 ROWS 可以知道扫描的行数是否过多;
观察 EXTRA 可以知道是否使用了临时表和进行了额外的排序操作;
三、在MySQL中,MyISAM和InnoDB各有哪些特性?分别适用在怎样的场景下?
答案:MyISAM 只支持表锁,不支持事务,表损坏率较高。较老的存储引擎。
它分为2种类型的文件:以 MYD 作为后缀名的数据文件和以 MYI 作为后缀名的索引文件。
MyISAM 读写并发不如 InnoDB,适用于INSERT较多的场景,且支持直接复制文件,用以备份数据,
是 MySQL 公司开发的,物理文件主要有数据文件,日志文件和索引文件,并且这三个文件是单独存在。
InnoDB 支持行锁,支持事务,支持行级锁,Crash(崩溃)后具有 Revcover(还原)机制,
只有 ibd 文件,分为数据区和索引区,有较好的读写并发能力,但做 COUNT 运算时相当消耗CPU,
是 InnoDB 公司开发的。物理文件有日志文件,数据文件和索引文件。
其中,索引文件和数据文件是放在一个目录下,可以设置共享文件、独享文件两种格式。
#   多记录一点,毕竟是微软的数据库知识点
#、SQL Server的两种存储结构是什么?
答案: SQL Server的两种存储结构是页与区间。
(1)页:用于数据存储的连续的磁盘空间块,大小为 8KB;
每页的开头是 96 字节的页头,用于存储有关页的系统信息,包括页码、页类型、页的可用空间
以及拥有该页的对象的分配单元ID。
(2)区间:8 个连续的物理页面,大小 64KB(较小的表(<64KB)与其它数据库对象共享区间)。
表和索引以区间的形式存储,
SQL Server 中的每个数据库的信息都记录在 Master 数据库的 sysdatabases 和 sysaltfiles 表中。

转载于:https://www.cnblogs.com/loongsoft/p/7273900.html

MySQL 基础理论面试题整理相关推荐

  1. MySQL常见面试题及答案汇总1000道(春招+秋招+社招)

    MySQL面试题以及答案整理[最新版]MySQL高级面试题大全(2021版),发现网上很多MySQL面试题都没有答案,所以花了很长时间搜集,本套MySQL面试题大全,汇总了大量经典的MySQL程序员面 ...

  2. mysql常见面试题及答案_MySQL常见面试题与答案整理

    1.MySQL 中有哪几种锁? 1.表级锁: 开销小, 加锁快: 不会出现死锁: 锁定粒度大, 发生锁冲突的概率最高, 并发度最低. 2.行级锁: 开销大, 加锁慢: 会出现死锁: 锁定粒度最小, 发 ...

  3. MySQL笔试题整理(一)

    一.题目参考 mysql经典面试题之学生成绩表 - 年轻人--001 - 博客园 MySQL经典练习题及答案,常用SQL语句练习50题_我疯的博客-CSDN博客_mysql50题 找了这两篇文来做题, ...

  4. mysql关于时间的面试题,mysql时间设置默认值MySQL常见面试题

    1.limit(选出10 到20 条) select * from students order by id limit 9,10; 2.MySQL 会使用索引的操作符号 =,>,=,betwe ...

  5. 常见的面试题整理 -python

    常见的面试题整理 在这里插入代码片 #二分查找def binarySearch(alist, item):first=0;last=len(alist)-1;while first <= las ...

  6. Spring Boot 面试题整理

    Spring Boot 面试题整理 2018年08月12日 22:32:35 Time_sg 阅读数 19380 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文 ...

  7. 【JAVA面试】java面试题整理(4)

    版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779 java面试题整理(4) JAVA常考点4 文件夹 1. S ...

  8. MySQL索引面试题六连击

    MySQL索引面试题六连击 最近在微信公众号上看到一篇推文,关于MySQL索引面试题的,觉得写得挺好,整理了一下形成博客总结. 原文链接:关于MySQL索引面试题的6连炮!招架的住吗? 1.面试真题 ...

  9. 金九银十!“68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?

    前言 谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑.那么,关于Redis与MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这"68道 R ...

  10. “68道 Redis+168道 MySQL”精品面试题(带解析),你背废了吗?

    谈起 Redis 和 MySQL,皆是广大 程 序 猿(媛)朋友面试跳槽必踩的两个坑.那么,关于Redis与MySQL,面试官最爱问哪些问题呢?不知道也不用慌,我已整理了这"68道 Redi ...

最新文章

  1. Android应用中通过AIDL机制实现进程间的通讯实例
  2. linux数据库什么意思,Linux系统中的数据库命令是什么
  3. 不需要懂得编程,但却可以使用ggplot2画出论文级别的图?
  4. 前端学习(2159):vuecli脚手架的配置和安装
  5. RabbitMQ MQTT协议和AMQP协议
  6. ROS(3)订阅者subscriber编程实现
  7. 使用L2TPV3桥接---FR-TO-PPP
  8. MySQL主从复制延迟原因及处理思路
  9. 封装Cell(-去掉TableView那些碍眼的分割线)
  10. 7个Python实战项目代码,让你感受下大神是如何起飞的!
  11. 一图看懂阿里云原生发布
  12. linux 卸载theano,centos 安装theano
  13. 计算机原理 · 全加器
  14. 天才基本法--裴之的“自动战棋“代码
  15. 敏捷开发“松结对编程”实践之三:共同估算篇(大型研发团队,学习型团队,139团队,师徒制度,敏捷设计,估算扑克,扑克牌估算) .
  16. 伟景行Citymaker管廊三维Gis实现鼠标点选功能
  17. base-package 详解
  18. PCIE调试笔记理解--TLP理解
  19. 兰讯76A3芯片TWS配对后灭灯
  20. 11g-sql plan management

热门文章

  1. 【干货】--手把手教你完成文本情感分类
  2. Egret入门学习日记 --- 第十二篇(书中 5.1节 内容)
  3. 虚点连边 分层最短路
  4. js校验规则--去空格、加空格
  5. WPF 获取控件模板中的控件
  6. oracle--索引的使用
  7. react native 页面跳转
  8. 排序算法(三) —— 直接插入排序
  9. 条款十一: 为需要动态分配内存的类声明一个拷贝构造函数和一个拷贝赋值运算符...
  10. 美国专家声讨物联网安全 面对攻击如纸糊