面试题大杂烩-记不住

1、分库分表图啥

    1. 分库是为了解决单库io连接数的瓶颈
    1. 分表是为了解决单表效率瓶颈

2、分表后如何limit分页

    1. 如果是根据xxx字段进行分表的话 那么shardingjdbc会根据字段进行笛卡尔积计算 去对应表里面执行sql到内存中计算,比如根据用户id进行hash算法进行查表,所以满足了c端用户的订单问题。
    1. 但是后台b端的话自然是期望按照时间进行排序查询,这个时候b端是可以接受异步的方法查询,这个时候我们可以采取方案就是异步将分表数据再存一份出来按照时间分,或者将数据通Canal进行将日志监听同步到es中,通过查询es来满足查询

3、mysql中节点存什么

    1. 非叶子节点(父节点)为 :主键加页号(8b左右)
    1. 叶子节点为(子节点):数据(一行数据大概1kb)

4、mysql的innodb中B+树如何存储数据

    1. 如果有一个user表,则对应的就有user.idb文件
    1. 文件中存的结构就是b+树
    1. 一页存储大概为16kb,当超过了一页后,叶分裂(将排序并将大的页数据分离出来,将根节点中变为非叶子节点,将两页中最小id扔在根节点上)
      下图中红色的为主键,下图为分裂后的图片
      在这里插入图片描述
    1. 当一行数据超过了一页怎么办,这个时候分裂在按下一页,查询的时候是会根据页头跟页尾进行判断这条数据是否完整,或者断电后存储是否完整,不完整就找下页去拼完整数据
    1. 计算规则,一行1kb的话,3次io就会查到上千万条数据,并且很快,计算规则就是
      z:层级次数
      x:头节点(一般主键,页数,大概一页可以存1280)
      k:叶子节点单页存多少条
      最终结果:x的z-1次方 * k

5. 聚簇索引(聚集索引)和非聚簇索引(非聚集索引)

    1. 区别就是:一个是主键,一个不是
    1. 如果这个索引不包含你要查询的结果集中任意一个属性,都要回表(通过主键id去查询数据所在地方)
    1. 一般非聚簇索引存储的叶子节点不会是整行数据,而是聚簇索引键值

6. in和exists

    1. in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询
    1. 子查询表大的用exists,子查询表小的用in;
      表A(小表),表B(大表)
      select * from A where cc in(select cc from B)
      如果内表比较大的话in效率会低

7、引用方面何时gc

    1. 强引用无法gc 除非引用变为Null
    1. 软引用内存不够就gc掉
    1. 弱引用只要gc就会被回收
    1. 虚引用随时都会被回收get方法是Null返回

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19949.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win10下安装TensorRT

Win10下安装TensorRT 前言相关介绍Win10下安装TensorRT查看cuda版本下载tensorrt8.xx版本,适用于Windows的cuda11.x的版本解压下载好的压缩包使用pip下载wheel文件遇到新问题解决方法 测试TensorRT是否安装成功 参考 前言 由于本人水平有限,难免出现错漏…

C++STL:顺序容器之forward_list

文章目录 1. 概述2. 成员函数和使用forward_list容器相关的函数 3. forward_list 容器的创建 1. 概述 forward_list 是 C 11 新添加的一类容器,其底层实现和 list 容器一样,采用的也是链表结构,只不过 forward_list 使用的是单链表&#xff…

【MySQL】SQL索引失效的几种场景及优化

MySQL中提高性能的一个最有效的方式是对数据表设计合理的索引。索引提供了高效访问数据的方法,并且加快查询的速度, 因此索引对查询的速度有着至关重要的影响。 使用索引可以快速地定位表中的某条记录,从而提高数据库查询的速度,…

软件工程——第13章软件项目管理知识点整理(完结)

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1.管理的定义? 2.软件项目管理地位?(重要性) 3.软件项目管理过程从一组项目计划活动开始&#xff0c…

raid5故障导致LeftHand存储崩溃的服务器数据恢复案例

HP-LeftHand存储简介: HP LeftHand存储支持RAID5、RAID6、RAID10磁盘阵列,支持卷快照,卷动态扩容等。 服务端: 客户端: LeftHand存储分为三个层级:物理磁盘、逻辑磁盘、逻辑卷。多个物理磁盘组成一个逻辑的…

GPDB-内核特性-gp_interconnect_fc_method参数

GPDB-内核特性-gp_interconnect_fc_method参数 gp_interconnect_fc_method参数控制使用哪种流量控制方式:capacity根据接收方窗口来控制发送;loss(默认)根据丢包情况控制发送速度。Loss是基于capacity,还会根据丢包情况调整发送速度。那么针对…

YOLOv8实战垃圾分类目标检测 (视频课程)

课程链接:https://edu.csdn.net/course/detail/38804 垃圾分类是一项利国利民的民生工程,需要全社会的共同参与。 YOLOv8是前沿的目标检测技术,它基于先前 YOLO 版本在目标检测任务上的成功,进一步提升性能和灵活性。 本课程将手…

基于OpenCV 和 Python 实现车牌检测--附免费源码

文末提供免费的源代码下载链接 车牌检测是使用计算机视觉技术自动检测和识别图像或视频流中的车牌/车牌的过程。 此任务在许多应用中都很有用,例如交通管理、自动收费和停车控制。 车牌检测基本上分为两个任务: 车牌检测:这是指识别图像或视频帧中车牌位置的过程。这涉…

实战:Springboot集成Sentinel实现流量控制、熔断降级、负载保护

文章目录 前言知识积累流量控制负载保护熔断降级官方文档 实战演练部署sentinel-dashboard直接jar包部署docker-compose编排 springboot集成sentinel基础架构搭建sentinel控制台sentinel验证 延伸:系统自适应限流系统规则原理配置页面 写在最后 前言 前面的文章我们…

面试官:请你说下深、浅拷贝并且手写深、浅拷贝,我:你咋知道我只会这个?

前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 一、引言 当我们需要在 JavaScript 中处理对象和数组时,经常需要使用对象和数组的复制功能。JS中有着两种…

TCP 与UDP区别

目录 网络参考模型TCPTCP 是什么特点 UDPUDP 是什么特点 TUP与UDP区别 总结什么时候选TCP or UDP 网络参考模型 TCP TCP 是什么 传输控制协议(TCP)是TCP/IP模型的传输层协议。它是一个面向连接的协议。因此,协议首先在源和目标之间建立连接…

谈谈对SpringMVC的理解

1、SpringMVC是属于SpringFramework生态里面的一个模块,它是在Servelet基础上构建的,并且使用了MVC模式设计的一个Web框架; 2、它的主要目的是为了简化传统模式下的Serveletjsp的开发模式,其次SpringMVC的架构模式是对于Java的web…