mysql

SQL和NOSQL关系型数据库和非关系型数据库的区别是,关系型数据库支持ACID,扩展比较难数据结构固定,对于复杂的关联查询性能好,非关系型数据库扩展比较方便数据结构比较松散,对于查询和写入性能好。
关系型数据库有mysql,Oracle。
非关系型数据库有redis,mongoDB。
外键约束主要是用来关联表和表之间的联系。
数据库的三大范式1. 每列的不可分割原子性 2. 关键字的直接依赖关系 3. 我自己理解的话第二跟第三是一样的。
连表查询有内连接,左外连接,右外连接,全外连接。
mysql如何避免重复插入数据,设置列unique唯一约束,或者可以选择更新操作,或者选择忽略该数据。
char和varchar的区别是char是固定字符串长度,存储效率比较好,可以存储电话号码这些固定长度数据。varchar是可变长字符串,可以根据实际长度去存储,节省存储空间。
mysql的关键字in和exist,in是全表查询,判断里面是否拥有,exist是查询到之后就不再查询了。
mysql的存储引擎,默认是innoDB,还有myisam,memory。
innoDB具有ACID事物支持,行级锁,外键约束,适用于高并发的读写操作和数据的完整性。
myisam仅支持表级锁,在并发和数据完整性比较差,但读取性能好。
数据库挂掉之后使用redolog恢复数据(innoDB,myisam不支持)。
索引是给数据添加一个地址,就像字典的目录,可以提高数据的查询效率。
聚簇索引是一级索引根据关键字直接查询到所有数据。
非聚簇索引是二级索引,需要先查询到关键字,再根据关键字查询到数据,属于回表查询。
mysql中的索引是使用了b+树作为索引的数据结构。
b+树的叶子节点才存放数据,非叶子节点存放键值和索引地址,叶子节点还形成一个双向链表,所以叶子节点都在同一层,还能进行范围查询和顺序查询。
b树在叶子节点和非叶子节点都会存放数据和索引,性能不稳定,没有双向链表不能范围查询。
联合索引需要注意是否会失效,当联合(a,b,c)索引,查(b,c)会失效等。
覆盖索引就是能在索引查询中获取到你要的数据就不用回表查询了。
索引也是要分配内存的,并不是越多越好,当数据太大的时候,也会影响增删改的性能,因为增删改的时候也要动态的维护索引。
全部评论

相关推荐

面试经验:技术面试在技术面试中,‌面试官通常会根据应聘者的简历和项目经验进行提问。‌以下是一些可能出现的技术面试问题:‌1、几乎所有面试都会从自我介绍开始,‌这是展示个人背景和能力的机会;面试官会详细询问应聘者的项目经验,‌包括项目内容、‌使用的技术栈、‌遇到的问题及解决方案可能会涉及编程语言、‌数据结构、‌算法、‌系统设计等方面的基础知识2、通过设定特定的情景,‌考察应聘者解决实际问题的能力3、直接测试应聘者的编程能力或特定技能业务面试业务面试中,‌面试官可能会询问应聘者对顺丰科技业务的了解,‌以及应聘者如何将自己的技能应用到实际工作中。‌此外,‌还可能会询问应聘者对公司文化的理解和个人职业规划等。‌HR面试HR面试主要关注应聘者的个人情况,‌包括自我介绍、‌对岗位的考虑因素(‌如薪资、‌个人成长、‌工作地点、‌工作强度等)‌、‌业余爱好、‌家庭情况、‌座右铭等。‌这些问题旨在全面了解应聘者的性格、‌观念、‌心态以及对工作的态度。‌顺丰科技25届校招内推启动!技术专场!【🍀内推码】0H0PCC(简历来源选择校园大使)【内推链接】https://campus.sf-express.com/m/?channel=29&referCode=0H0PCC#/newGraduatesList招聘岗位:物流、供应链、大数据、算法、研发多个岗位招聘地点:深圳、武汉等即刻投递,offer速得!投递的uu留下姓名缩写+岗位~
顺丰集团
|
校招
|
超多精选岗位
点赞 评论 收藏
分享
3 1 评论
分享
牛客网
牛客企业服务