Mysql (面试篇)

server/2024/10/18 9:21:50/

目录

唯一索引比普通索引快吗

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语句中的一个字符


http://www.ppmy.cn/server/104186.html

相关文章

用TensorFlow实现线性回归

说明 本文采用TensorFlow框架进行讲解,虽然之前的文章都采用mxnet,但是我发现tensorflow提供了免费的gpu可供使用,所以果断开始改为tensorflow,若要实现文章代码,可以使用colaboratory进行运行,当然&#…

96.不同的二叉搜索树

给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 &#xff1a; 复杂度&#xff1a;n*n n class Solution {public int numTrees(int n) {if(n < 2) return n;int[] dp n…

day 27TCP编程

UDP特点&#xff1a; 1.不安全不可靠的传输方式 2.UDP资源开销小&#xff0c;实现机制简单 3.UDP是无连接的 针对UDP这些特性所以就有了TCP这种更可靠&#xff0c;更安全的传输方式 TCP编程函数接口

鸿蒙开发入门day10-组件导航

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;还请三连支持一波哇ヾ(&#xff20;^∇^&#xff20;)ノ&#xff09; 目录 组件导航 (Navigation) 设置页面显示模式 设置标题栏模式 设置菜…

全网行为管理软件有哪些?5款总有一款适合你的企业!

如今企业越来越依赖互联网进行日常运营和业务发展&#xff0c;网络行为管理变得日益重要。 为了确保网络安全、提高员工工作效率、避免敏感信息外泄等问题&#xff0c;企业往往需要借助全网行为管理软件来监控和管理内部网络的使用情况。 本文将为您介绍五款热门的全网行为管理…

一站式解决R包安装的各种方法及常见问题(Bioconductor、github、手动安装等)

R语言作为一种统计分析工具&#xff0c;其强大的功能很大程度上得益于丰富的R包资源。R包是R函数、数据集、帮助文档等的集合&#xff0c;它们被组织在一起以实现特定的功能或分析任务。本文将详细介绍R包的几种安装方式&#xff0c;帮助你轻松管理R包。 目录 1. 使用install…

2080. 邻接点

代码 #include<bits/stdc.h> using namespace std; int main() {int n,e,i,j,x,y;cin>>n >> e;vector<vector<int>> adj(n1);for(i0;i<e;i){cin>>x>>y;adj[x].push_back(y);}for(i1;i<n;i)sort(adj[i].begin(),adj[i].end())…

WPS宏实现一个表格拆分成多个表格的功能

把首列名称中一样的分别创建该名称时间戳的新表格&#xff0c;比如有个表格存储各个省的信息&#xff0c;江苏的有50行数据&#xff0c;山西的55行数据等等&#xff0c;这个就是把江苏的创建一个新表保存&#xff0c;山西的创建一个新表格保存。里面主要是表格的创建与关闭相关…