Mysql (面试篇)
目录
唯一索引比普通索引快吗
MySQL由哪些部分组成,分别用来做什么
MySQL查询缓存有什么弊端,应该什么情况下使用,8.0版本对查询缓存由上面变更
MyISAM和InnoDB的区别有哪些
MySQL怎么恢复半个月前的数据
MySQL事务的隔离级别,分别有什么特点
做过哪些MySQL索引相关优化
一千万条数据的表,如何分页查询
订单表数据量越来越大导致查询缓慢,如何处理
MySQL中有哪几种锁
分页如何显示前50行?
数据库中的事物是什么?
SQL注入漏洞产生的原因?如何防止?
与Oracle相比,Mysql有什么优势
符合区分float和double?
在Mysql中ENUM的用法式什么?
如何定义REGEXP?
Char和varChar的区别?
列的字符串里类型可以是什么?
Like声明中% 和_是声明意思?
大家一起加油 !!!
唯一索引比普通索引快吗
唯一索引不一定比普通索引快,还可能慢
MySQL由哪些部分组成,分别用来做什么
1.Server
连接器:管理连接,权限验证。
分析器:词法分析,语法分析
优化器:执行计划生成,索引的选择
执行器:操作存储引擎,返回执行结果
2. 存储引擎:存储数据,提供读写接口
MySQL查询缓存有什么弊端,应该什么情况下使用,8.0版本对查询缓存由上面变更
1. 查询缓存可能会失效非常频繁,对于一个表,只要有更新,该表的全部查询缓存都会被清空,隐藏对于频繁更新的表来说,查询缓存不一定能起到正面效果。
2. 对于读多于写的表可以考虑使用查询缓存。
3. 8.0版本的查询缓存功能被删了。
MyISAM和InnoDB的区别有哪些
InnoDB支持事务,MyISAM不支持
InnoDB支持行级锁,MyISAM支持表锁
InnoDB支持多版本并发工作(MVVC),MyISAM不支持
InnoDB支持外键,MyISAM不支持
MyISAM支持全文索引,InnoDB部分不支持
事务,外键,锁,并发,索引
MySQL怎么恢复半个月前的数据
通过整库备份+binlog进行恢复,前提是要有定期整库备份且保存了binlog日志。
MySQL事务的隔离级别,分别有什么特点
1. 读未提交(RU):一个事务还没提交时,它作的变更就被别的事物看到。
2. 读提交(RC):一个事物提交之后,它做的变更才会被其他事物看到。
3. 可重复读(RR):一个事物执行过程中看到的数据,总是跟这个事物在启动时看到的数据时一致的。当然在可重复读隔离即被下,未提交变更对其他事物也时不可见的。
4. 串行化(S):对于同一记录,读写都会加锁。当出现读写锁冲突的时候,后访问的事物必须等前一个事物执行完成才能继续执行。
做过哪些MySQL索引相关优化
1. 尽量使用主键查询:聚簇索引上存储了全部数据,相比普通索引查询,减少了回表的消耗
2. 适当使用联合索引,减少表判断的消耗
3. 若是频繁查询某一列数据,可以考虑利用覆盖索引避免回表。
4. 联合索引将高频字段放在最左边
一千万条数据的表,如何分页查询
数据链过大的情况下,limit offset分页会越扫描越慢,可以配合当前页最后一条id进行查询,select * from t where id > #{id} limit #{limit}当然,这种情况下id必须时有序的,这也是有序id的好处之一
订单表数据量越来越大导致查询缓慢,如何处理
分库分表,一般高频的都是近期订单,将订单按照月份或年份,进行分库分表,订单ID最好包含时间(如雪花算法生成),此时技能更具订单ID直接获取到订单记录,也能按照时间进行查询。
MySQL中有哪几种锁
1. 表锁:开销小,加锁快,不会出现死锁;锁的力度大,发生冲突概率高,并发低。
2. 行锁:开销大,加锁慢;会出现死锁;所得粒度小,发生冲突概率低,并发度高
3. 页面锁:开销和加锁时间介于表锁和行锁之间;会出现死锁;锁的颗粒度介于表锁和行锁之间,并发度一般
分页如何显示前50行?
select * from table limit (0,50)
select * from table limit 50 offset 0;
数据库中的事物是什么?
事物(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事物成功,即使只有一个操作失败,事物也不成功。如果所有操作完成,事物则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事物将回滚,该事务所有操作的影响都将取消。
事务特性:
1. 原子性:要么全部成功,要么全部失败
2. 一致性:一致性是指数据库在事务执行前后都处于一致的状态。更具体地说,一致性要求事务的执行不会违反数据库的完整性约束,如主键唯一性、外键引用完整性、检查约束等。
3. 隔离性:不允许该事务数据提交给其他事务
4. 持久性:永久保存,宕机不会导致数据丢失
SQL注入漏洞产生的原因?如何防止?
1. 过滤关键字:update,insert,delete,select,*
2. 提高数据库和字段命名,防止被猜到
与Oracle相比,Mysql有什么优势
1. Mysql是开源软件,随时可用,无需付费
2. Mysql是便携式的
3. 带有命令提示符GUI
4. 使用Mysql查询浏览器支持管理
符合区分float和double?
浮点数:8位精度存储,并且有4个字节
double:18位精度存储,有8个字节
在Mysql中ENUM的用法式什么?
ENUM是一个字符串对象,用于指定一组预定的值,并可在创建表时使用。
Create table size (name ENUM( 'Smai','Medium','Large' ));
如何定义REGEXP?
REGEXP是模式匹配,其中匹配模式在搜索值得任何位置。
Char和varChar的区别?
Char和varChar类型在存储和检索房间有所不同
Char列长度固定为创建表声明的长度,长度值范围是1到255,当char值被存储时,我们被用空格填充到特定长度,检索char值时需要删除尾随空格。
列的字符串里类型可以是什么?
字符串类型是:
set
blob
enum
char
test
varchar
Like声明中% 和_是声明意思?
%对应于0个活更多字符,_只是Like语句中的一个字符
相关文章:
Mysql (面试篇)
目录 唯一索引比普通索引快吗 MySQL由哪些部分组成,分别用来做什么 MySQL查询缓存有什么弊端,应该什么情况下使用,8.0版本对查询缓存由上面变更 MyISAM和InnoDB的区别有哪些 MySQL怎么恢复半个月前的数据 MySQL事务的隔离级别ÿ…...
【python】深入探讨python中的抽象类,创建、实现方法以及应用实战
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
微前端传值
在微前端架构中,不同子应用之间通过 postMessage 进行通信是一种常见的做法。这种方式允许不同源的窗口之间进行安全的信息交换。 下面是如何使用 postMessage 在微前端环境中发送和接收消息的示例。 步骤 1: 发送消息 假设您有一个主应用(host app&a…...
《学会 SpringBoot · 依赖管理机制》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...
全网行为管理软件有哪些?5款总有一款适合你的企业!
如今企业越来越依赖互联网进行日常运营和业务发展,网络行为管理变得日益重要。 为了确保网络安全、提高员工工作效率、避免敏感信息外泄等问题,企业往往需要借助全网行为管理软件来监控和管理内部网络的使用情况。 本文将为您介绍五款热门的全网行为管理…...
以简单的例子从头开始建spring boot web多模块项目(二)-mybatis简单集成
继续使用以简单的例子从头开始建spring boot web多模块项目(一)中的项目进行mybatis集成。 1、pom.xml文件中,增加相关的依赖包的引入,分别是mybatis-spring-boot-starter、lombok、mysql-connector-java 如下: <d…...
Golang | Leetcode Golang题解之第354题俄罗斯套娃信封问题
题目: 题解: func maxEnvelopes(envelopes [][]int) int {n : len(envelopes)if n 0 {return 0}sort.Slice(envelopes, func(i, j int) bool {a, b : envelopes[i], envelopes[j]return a[0] < b[0] || a[0] b[0] && a[1] > b[1]})f : …...
jmeter中添加ip欺骗
1、首先在本机电脑中通过配置文件创建添加ip的配置文件,先创建一个txt格式的,直接修改文件名以及后缀为ips.bat 2、编辑该ips.bat文件,在文件中输入如下内容,用于快速给本机添加ip地址,(2,1&…...
WPF篇(19)-TabControl控件+TreeView树控件
TabControl控件 TabControl表示包含多个共享相同的空间在屏幕上的项的控件。它也是继承于Selector基类,所以TabControl也只支持单选操作。另外,TabControl的元素只能是TabItem,这个TabItem继承于HeaderedContentControl类,所以Ta…...
appium下载及安装
下载地址:https://github.com/appium/appium-desktop/releases 双击安装就可以...
XSS项目实战
目录 一、项目来源 二、实战操作 EASY 1 2 3 4 5 6 7 8 一、项目来源 XSS Game - Learning XSS Made Simple! | Created by PwnFunction 二、实战操作 EASY 1 1.Easy -1 2.题目要求及源码 Difficulty is Easy.Pop an alert(1337) on sandbox.pwnfunction.com.No …...
SD-WAN降低网络运维难度的关键技术解析
为什么说SD-WAN(软件定义广域网)大大降低了网络运维的复杂性,主要是因为它的智能路径选择、应用识别和链路质量监测这三个核心技术。这几项在SD-WAN中尤为重要的技术,它们共同作用,提升了整体网络性能,为网…...
【算法基础实验】图论-最小生成树-Prim的即时实现
理论知识 Prim算法是一种用于计算加权无向图的最小生成树(MST, Minimum Spanning Tree)的贪心算法。最小生成树是一个连通的无向图的子图,它包含所有的顶点且总权重最小。Prim算法从一个起始顶点开始,不断将权重最小的边加入生成…...
LLama 3 跨各种 GPU 类型的基准测试
2024 年 4 月 18 日,AI 社区对 Llama 3 70B 的发布表示欢迎,这是一款最先进的大型语言模型 (LLM)。该型号是 Llama 系列的下一代产品,支持广泛的用例。该模型 istelf 在广泛的行业平台上表现良好,并提供了新…...
FreeRTOS 快速入门(五)之信号量
目录 一、信号量的特性1、信号量跟队列的对比2、两种信号量的对比 二、信号量1、二值信号量1.1 二值信号量用于同步1.2 二值信号量用于互斥 2、计数信号量 三、信号量函数1、创建2、删除3、give/take 一、信号量的特性 信号量(Semaphore)是一种实现任务…...
centos 服务器之间实现免密登录
为了在CentOS服务器之间实现免密登录,你需要使用SSH的公钥认证机制 比如两台centos系统的服务器A 和服务器B 首先我们实现从A服务器可以免密登录到服务器B上 首先生成公钥和秘钥: ssh-keygen -t rsa 生成了公钥和秘钥之后: ssh-copy-id r…...
RabbitMq实现延迟队列功能
1、rabbitmq服务端打开延迟插件 (超过 4294967295毫秒 ≈ 1193 小时 ≈ 49.7 天 这个时间会立即触发) 注意:只有RabbitMQ 3.6.x以上才支持 在下载好之后,解压得到.ez结尾的插件包,将其复制到RabbitMQ安装目录下的plug…...
redis内存淘汰策略
1. redis内存淘汰策略 日常常用:allkeys-lru:在键空间中移除最近最少使用的key。1.1 为什么需要使用redis内存淘汰策略? 因为我们服务器中的内存是有限的,不会无限多,所以需要对一些不常用的key进行内存清理.1.2 redis内存淘汰策略有哪些? redis默认…...
实时洞察应用健康:使用Spring Boot集成Prometheus和Grafana
1. 添加Prometheus和Actuator依赖 在pom.xml中添加Spring Boot Actuator和Micrometer Prometheus依赖: <dependencies> <!--监控功能Actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring…...
生信圆桌x生信豆芽菜:生物信息学新手的学习与成长平台
生信豆芽菜是一个专门为生物信息学初学者创建的学习与交流平台,致力于帮助新手们快速入门并掌握生信分析的基础知识与技能。随着生物信息学在科研中的重要性日益提升,越来越多的学生和研究人员开始接触这一领域。生信豆芽菜正是为了满足这些新手的需求&a…...
AI辅助开发:模仿PS创意效果,用快马生成智能艺术风格迁移应用代码
最近在做一个艺术风格迁移的小项目,正好用到了InsCode(快马)平台的AI辅助开发功能,整个过程特别顺畅。这个项目的灵感来源于PS的创意效果,但想用更智能的方式来实现类似功能。下面分享一下我的实现思路和经验。 项目构思 最初是想做一个能让普…...
无噪音RS1 ROSAHL 电解式除湿器 3D 打印耗材盒/户外摄像头/激光器精准除湿设备
RS1 是 ROSAHL(日本 Ryosai Technica 生产)推出的一款超紧凑型电解式除湿器,采用全球领先的固体聚合物电解质(SPE)膜技术,通过电化学原理主动将密闭空间内的水分子分解并以气态形式排出。它具备无噪音、无振…...
别再踩坑了!Jetson Nano/Xavier NX上PyTorch和torchvision版本匹配保姆级指南(含JetPack 5/6)
Jetson设备PyTorch环境配置终极避坑手册:从版本匹配到性能调优 刚拿到Jetson Nano或Xavier NX的开发者们,十个里有九个会在PyTorch环境配置上栽跟头。不是torchvision报错就是CUDA不可用,最崩溃的是好不容易装好了却发现性能还不如树莓派。本…...
BilibiliDown终极指南:如何快速掌握B站视频批量下载技巧
BilibiliDown终极指南:如何快速掌握B站视频批量下载技巧 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors…...
忍者像素绘卷微信小程序接入:用户提示词历史+生成图云存储方案
忍者像素绘卷微信小程序接入:用户提示词历史生成图云存储方案 1. 项目背景与核心价值 忍者像素绘卷是一款基于Z-Image-Turbo深度优化的图像生成工作站,将16-Bit复古游戏美学与现代AI图像生成技术完美结合。这款工具特别适合创作具有忍者主题和复古像素…...
基于STM32的智能药箱系统开发实战:从硬件搭建到云端互联
1. 为什么需要智能药箱 记得去年我奶奶因为忘记吃药导致血压飙升住院,当时我就在想,如果能有个自动提醒吃药的装置该多好。后来发现这个问题其实困扰着很多家庭——据统计,65岁以上老年人中,有超过60%存在漏服、错服药物的情况。这…...
STM32驱动SG90舵机:从PWM原理到蓝牙远程控制实战
1. 认识SG90舵机与PWM控制 第一次拿到SG90这个小家伙时,我差点以为是个玩具电机。直到把它接上STM32,看到它能精准地停在指定角度,才意识到这玩意儿在机器人、智能家居里有多实用。SG90是一种微型舵机,三根线分别接电源࿰…...
终极PDF Arranger常见问题FAQ:解决用户最关心的30个疑问
终极PDF Arranger常见问题FAQ:解决用户最关心的30个疑问 【免费下载链接】pdfarranger Small python-gtk application, which helps the user to merge or split PDF documents and rotate, crop and rearrange their pages using an interactive and intuitive gra…...
如何用OpenRGB终结RGB灯光控制混乱:终极跨平台解决方案
如何用OpenRGB终结RGB灯光控制混乱:终极跨平台解决方案 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/CalcProgrammer1/OpenRGB. Relea…...
Java POI读取大文件慢如何优化
用java poi处理大型excel文件时,往往会遇到阅读速度慢的问题,严重影响程序性能。本文将针对“java poi打开大文件的慢优化方法?”这个问题讨论了几个可行的解决方案,以帮助开发者提高程序效率。问题在于java poi 默认情况下&#…...
