面试总结

本文深入探讨了Git中的rebase与merge操作的区别,解释了数据库n+1查询问题及解决方案,详细对比了tinyint、smallint、int、bigint等数据类型的特性,以及char与varchar在MySQL中的使用差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---恢复内容开始---

1 git rebase和merge的区别

rebase会把你的"mywork"分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把"mywork"分支更新 为最新的"origin"分支,最后把保存的这些补丁应用到"mywork"分支上,也就是先把提交cancel掉,把当前分支更新为最新的origin分支,再把这些 cancel掉的更新给加上,这样 就像当于是在远端最新的更新上继续工作。

2 数据库n+1查询问题

执行一次查询获得n条记录,由于关联查询引起的n次查询造成性能下降,

通过懒加载可以部分缓解1+n次查询带来的性能问题,

3 tinyint , smallint int bigint 的区别

tinyint   一个字节    0到255

smallint 两个字节    0到2的15次-1

int 四个字节,0到2的31次方-1

bigint 8个字节,0到2的63次方-1

4 char varchar区别

char固定长度,如果小于指定长度,则添加空格补齐,

varchar可变长度,效率char>varchar>text

Mysql 5中

非空CHAR的最大总长度是255【字节】;非空VARCHAR的最大总长度是65533【字节】。

可空CHAR的最大总长度是254【字节】;可空VARCHAR的最大总长度是65532【字节】。

原因:非空标记需要占据一个字节,VARCHAR超过255需要用2个字节标记字段长度,不超过255用1个字节标记字段长度.

在mysql 5.7.19中测试,字段编码用utf8-generalci,

varchar  最大 长度21843 可空(空的checkbox选中)时为21842 

char最大 长度255  可空也是255

5  

 

转载于:https://www.cnblogs.com/xqnq2007/p/7684297.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值