MySQL面试
文章平均质量分 77
秋招准备
Camellia0212
这个作者很懒,什么都没留下…
展开
-
2024/4/19 MySQL索引结构
如果查询语句的查询条件用了二级索引,但是查询的数据不是主键值,也不是二级索引值,这时在二级索引找到主键后,就需要回表才能查到数据,需要扫描两次B+树。在索引页中主要记录的是主键与页号,假设是主键id类型是bigint,那就是8字节,页号固定为4字节,那么索引页中一条数据也就是12byte,那么一个索引页可以存储 15 * 1024 / 12 ≈。叶子节点中存放的是真正的行数据,这个影响的因素就会多很多,比如字段的类型,字段的数量。我比较常用的是B+树索引,因为它是InnoDB引擎默认使用的索引类型,原创 2024-04-19 11:07:40 · 812 阅读 · 0 评论 -
2024/4/16 MySQL存储引擎
MySQL在更新数据的时候,MySQL为了保证事务的隔离性,是需要加锁的,而Redis更新操作都是不需要加锁的,还有MySQL为了保证事务的持久性,还需要刷盘redolog日志和binlog日志,Redis可以选择不持久化数据。char 是固定长度的字符串类型,它在数据库中占用固定的存储空间,无论实际存储的数据长度是多少,都会占用定义时指定的固定长度,如果实际存储的字符串长度小于定义的长度,系统会自动用空格填充。会基于查询成本的考虑,会判断每个索引的执行成本,从中选择查询成本最小的执行计划。原创 2024-04-16 17:30:55 · 538 阅读 · 0 评论 -
2024/4/16 MySQL语法面试题
drop 是删除表结构和表中所有的数据,truncate 是只删除表中所有的记录,表结构不会被删除,drop 和 truncate 删除的数据都是不可以回滚的,并且删除表会立即释放磁盘空间。而且,delete 删除数据只是给数据打上删除标签,目的是为了空间复用,所以delete删除数据后,磁盘大小不会缩减。count(主键) 是对主键进行遍历,相比于count(*)和count(1)多了一步读取主键值。内连接是只返回两个表匹配的数据行,外连接可以返回两个表匹配和不匹配的数据行。原创 2024-04-16 09:53:27 · 185 阅读 · 0 评论