赞
踩
Q:什么是关系型数据库与非关系型数据库?
A:
关系型数据库
Q:什么是数据库第一二三范式?
A:
一般来说,“小企
”这个渣男(也可能不止小企
)在日常开发中都是违反范式家规
标准的,要为了性能,通过一些冗余的数据,空间换时间。
Q:MySQL 有几种字段类型?
A:字段类型大致可以分为三类:数值类型、字符类型、时间类型
Q:CHAR 和 VARCHAR 字符类型的区别?
A:
char
长度固定,所以存取速度快,甚至快varchar一半;如果长度没有达到预设值,用空格补充。因为定长,所以浪费一些空间,属于空间换时间。最多可存255
个字符;varchar
字符长度可变,所以不浪费空间,属于时间换空间。最多可存放65532
个字符串,至于为什么是65532
,那就需要看相关存储引擎InnoDB
的知识了。Q:说一说两个时间类型的区别
A:
TIMESTAMP
为1970-2028
,datetime
为1000-9999
TIMESTAMP
存储空间为4字节
,DATETIME
存储空间为8字节
TIMESTAMP
存储时间依赖于时区显示,DATETIME
存储时间与时区无关TIMESTAMP
不为空,后者为空Q:什么类型可以用于存储二进制数据?
A:blob,Blob常常是数据库中用来存储二进制文件的字段类型。通常用于存储大量的数据,例如音频、视频、图片等文件,由于它们的大小,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。
Q:怎么存储
emoji
表情?
A:
Q:你了解 SQL 的执行流程吗?
A:为了更加直观,借用三元表达式
的语法来描述一条 SQL 执行的流程。
Q:什么是 DDL 与 DML ?
A:是 DBMS 中的不同类型的语言指令集。
Q:MySQL 怎么进行优化?
A:
CREATE INDEX idx_email ON user(email);
SELECT * FROM user WHERE name = '张三' LIMIT 1;
实际上,一般互联网公司的设计都是反范式的,通过冗余一些数据,避免跨表跨库,利用空间换时间,提高性能。
Q:MySQL 数据类型有哪些?Java 中有哪些字段与之对应?
首先,收起你自认为架构篇很难理解的想法,我们还是从 MySQL 是一个房子入手。
Q:你是怎么理解 MySQL 的架构的?
A:MySQL 就相当于一个档案室,存放不同的档案,一个数据库好用,肯定有原因,架构也就是构成。那么一个快递驿站肯定包括下面这三部分:
{{{{{{待画图!!!}}}}}}
MySQL 逻辑架构图主要分为三层:客户端、存储引擎、服务层
Q:数据库调优,你是怎么做的
A:以下回答来自文心一言,待优化,回答要结合MySQL的架构以及存储引擎来说,以及自己的见解
数据库调优的方法有很多,以下是一些常见的调优方法:
这些方法可以根据实际情况选择使用,但需要注意的是,数据库调优是一个复杂的过程,需要综合考虑系统硬件、应用程序和数据等方面的因素。因此,在进行数据库调优时,建议根据实际情况进行测试和评估,以确保达到最佳的效果。
Q:你知道三种存储引擎的区别吗?
A:
功能 | MlSAM | MEMORY | InnoDB |
---|---|---|---|
存储限制 | 256TB | RAM | 64TB |
支持事务 | No | No | Yes |
支持全文索引 | Yes | No | Yes |
支持树索引 | Yes | Yes | Yes |
支持哈希索引 | No | Yes | Yes |
支持数据缓存 | No | N/A | Yes |
支持外键 | No | No | Yes |
怎么选择存储引擎的使用?
tips:存储引擎是基于数据表的,所以一个数据库的多个表可以根据实际业务,来使用不同的存储引擎,以此提高整个数据库的性能。
区别 | MyISAM | InnoDB |
---|---|---|
存储结构 | 每个表存储成3个文件: | |
表定义文件(.frm) | ||
数据文件(.MYD) | ||
索引文件(.MYI) | 所有表存放于同一数据文件,也可能多个文件或者独立的表空间文件,表的大小一般为2G | |
事务 | 不支持 | 支持 |
最小锁粒度 | 表级锁,更新会锁表,导致其他查询与插入阻塞 | 行级锁 |
索引类型 | 非聚簇索引,B树 | 聚簇索引,B+树 |
主键 | 可无 | 如未设置,自动生成(用户不可见) |
外键 | 不支持 | 支持 |
表行数 | 存有缓存,直接取出 | 需要遍历整个表 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。