mysql的集⾯试题_mysql⾯试题
最新阿⾥MySQL⾯试题⽬45道,以及学习路线分享! - 简书
2018最新mysql数据库优化⾯试 mysql索引⾯试 MySQL搜索引擎⾯试 MySQL⾯试基础知识 - 简书
MySQL 有哪些存储引擎啊?都有什么区别?
Float、Decimal 存储⾦额的区别?
浮点数计算都不准(只要不是2的整数倍都会有问题),decimal存储其实是string类型存储。
Datetime、Timestamp 存储时间的区别?
对于TIMESTAMP,它把客户端插⼊的时间从当前时区转化为UTC(世界标准时间)进⾏存储。查询时,将其⼜转化为客户端当前时区进⾏返回。
⽽对于DATETIME,不做任何改变,基本上是原样输⼊和输出。
对于跨时区的业务,TIMESTAMP更为合适。
Char、Varchar、Varbinary 存储字符的区别?
char使⽤固定长度的空间进⾏存储,char(4)存储4个字符,根据编码⽅式的不同占⽤不同的字节,gbk编码⽅式,不论是中⽂还是英⽂,每个字符占⽤2个字节的空间,utf8编码⽅式,每个字符占⽤3个字节的空间。
如果需要存储的字符串的长度跟所有值的平均长度相差不⼤(定值),适合⽤char。
对于经常改变的值,char优于varchar,原因是固定长度的⾏不容易产⽣碎⽚。
对于很短的列,char优于varchar,原因是varchar需要额外⼀个或两个字节存储字符串的长度。
varchar保存可变长度的字符串,使⽤额外的⼀个或两个字节存储字符串长度,varchar(10),除了需要存储10个字符,还需要1个字节存储长度信息(10),超过255的长度需要2个字节来存储
binary保存⼆进制字符串,它保存的是字节⽽不是字符,没有字符集限制
binary(8)可以保存8个字符,每个字符占1个字节,共占8个字节(01串)
什么是索引?
柱⾯ 磁道 扇⾯ ?id +addrmysql面试题基础知识
对⽐⼀下B+树索引和 Hash索引?
范围搜索 定值搜索速度快
MySQL索引类型有?
唯⼀索引:加速查询 + 列值唯⼀(可以有null)
主键索引:加速查询 + 列值唯⼀(不可以有null)+ 表中只有⼀个
组合索引:多列值组成⼀个索引,专门⽤于组合搜索,其效率⼤于索引合并
如何管理 MySQL索引?
#mysql索引的管理
/*
索引是针对数据所建⽴的⽬录
作⽤:可以加快查询速度
负⾯影响:降低了增删改的速度
*/
/*
案例:
假设有新闻表,15列,其中10列上有索引,共有100万⾏数据,如何快速导⼊
1.把空表的索引全部删除
2.导⼊数据
3.数据导⼊完毕后,集中建索引
*/
/*
100的原码怎么计算索引的创建原则
1.不要过度索引
2.在where条件最频繁的列上加
3.尽量索引散列值,过于集中的值加索引,意义不⼤
*/
/*
索引⽂件⽐数据⽂件⼤是很常见的,所以不要滥⽤索引
*/
/*
select函数使用实例索引的类型
1.普通索引(INDEX) 仅仅是加快查询速度
2.唯⼀索引(UNIQUE INDEX) ⾏上的值不能重复
3.主键索引(PRIMARY KEY) 不能重复
主键必唯⼀,但是唯⼀索引不⼀定是主键
⼀张表上,只能有⼀个主键,但是可以有⼀个或多个唯⼀索引
4.全⽂索引(FULLTEXT INDEX) FULLTEXT索引仅可⽤于MyISAM表
*/
#查看⼀张表上的所有索引
SHOW INDEX FROM book;
SHOW KEYS FROM book;
源代码电影结局细思极恐#在mysql的dos窗⼝中,使⽤如下sql语句,显⽰数据的时候更⽅便看
#SHOW INDEX FROM bookG
#EXPLAIN语句可以⽤作DESC(DESCRIBE)的⼀个同义词,以下效果相同EXPLAIN book;
DESC book;
MySQL性能优化有关问题
回表和集因⼦是什么?
讲讲表与表之间的关系?
intellij idea怎么创建java了解查询优化器模块;
查询优化的基本思路是什么?
说说MySQL读写分离、分库分表?
Query语句对数据库性能有什么影响?
Schema设计对系统性能有什么影响?
硬件环境对数据库的性能有什么影响?
表结构对性能有什么影响?
浅谈索引优化?
JOIN的原理是什么?
说说Sql优化的⼏点原则?
MySQL表设计及规范?
说说MySQL⼏种存储引擎应⽤场景?
MySQL常⽤优化⽅式有哪些?
MySQL常⽤监控?
Druid集成 +监控页⾯ - 简书表格样式图片
MySQL瓶颈分析?
MySQL的系统学习⽅法
innerdb4⼤特性
⼀:插⼊缓冲
insert buffer
⼆:⼆次写
当操作系统或者数据库进程在数据页写磁盘的过程中崩溃,Innodb可以在doublewrite缓存中到数据页的备份⽽⽤来执⾏crash恢复。当写⼊失效发⽣时,先通过页的副本来还原该页,再进⾏重做,这就是double write 。他其实就是建⽴了⼀个副本。
三:⾃适应哈希
B+树的查次数,取决于B+树的⾼度,在⽣产环境中,B+树的⾼度⼀般3-4层,故需要3-4次的查询,经常访问的⼆级索引数据会⾃动被⽣成到hash索引⾥⾯去。在⼀般情况下这种查的时间复杂度为O(1)。会占⽤innodb buffer pool
四:预读 ?
当进⾏分页操作的时候他会读取现有的page,将page设置到8,当下⼀个页⾯进来以后超过8这个阈值就会预先加载到buffer pool中。
select ?count(*)哪个更快,为什么
myisam更快,因为myisam内部维护了⼀个计数器,可以直接调取。
堆表
innodb的事务与⽇志的实现⽅式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论