page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6234 次

3096 个回答

0 赞同

谈谈你对水平切分和垂直切分的理解?

水平切分 水平切分是将同一个表中的记录拆分到多个结构相同的表中。当一个表的数据不断增多时,水平切分是必然的选择,它可以将数据分布到集群的不 同节点上,从而缓存单个数据库的压力。 垂直切分 垂直切分是将一张表按列切分成多个表,通常是按照列的关系密集程度进行切分,也可以利用垂直切分将经常被使用的列和不经...

回答于 2021-10-23 17:07

0 赞同

InnoDB 和 MyISAM 的比较?

1. 事务:MyISAM不支持事务,InnoDB支持事务; 2. 全文索引:MyISAM 支持全文索引,InnoDB 5.6 之前不支持全文索引; 3. 关于 count():MyISAM会直接存储总行数,InnoDB 则不会,需要按行扫描。意思就是对于 select count() from table; 如果数据量大,MyISAM 会瞬间返回,而 InnoDB 则会一行行扫描; 4. 外键:MyISAM...

回答于 2021-10-23 17:06

0 赞同

查询性能的优化方法?

减少请求的数据量 1. 只返回必要的列:最好不要使用 SELECT * 语句。 2. 只返回必要的行:使用 LIMIT 语句来限制返回的数据。 3. 缓存重复查询的数据:使用缓存可以避免在数据库中进行查询,特别在要查询的数据经常被重复查询时,缓存带来的查询性能提升将会是非常明显的。 减少服务器端扫描的行数 1. 最有效的方式是...

回答于 2021-10-23 17:05

0 赞同

什么情况下索引会失效?即查询不走索引?

下面列举几种不走索引的 SQL 语句: 1、索引列参与表达式计算: 1 SELECT 'sname' FROM 'stu' WHERE 'age' + 10 = 30; 2、 函数运算: 1 SELECT 'sname' FROM 'stu' WHERE LEFT('date',4) < 1990;  3、%词语%–模糊查询: SELECT * FROM 'manong' WHERE `uname` LIKE '码农%' -- 走索引 SELECT * FROM 'manong' WH...

回答于 2021-10-23 17:04

0 赞同

怎么知道创建的索引有没有被使用到?或者说怎么才可以知道这条语...

使用 Explain 命令来查看语句的执行计划,MySQL 在执行某个语句之前,会将该语句过一遍查询优化器,之后会拿到对语句的分析,也就是执行计划,其中包含了许多信息。可以通过其中和索引有关的信息来分析是否命中了索引,例如:possilbe_key、key、key_len 等字段,分别说明了此语句可能会使用的索引、实际使用的索引以及使用...

回答于 2021-10-23 17:01

0 赞同

varchar(10) 和 varchar(20) 的区别?

varchar(10) 中 10 的涵义最多存放 10 个字符,varchar(10) 和 varchar(20) 存储 hello 所占空间一样,但后者在排序时会消耗更多内存,因为 orderby col 采用 fixed_length 计算 col 长度

回答于 2021-10-22 15:43

0 赞同

谈谈你对索引的理解?

索引的出现是为了提高数据的查询效率,就像书的目录一样。一本500页的书,如果你想快速找 那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。 同样索引也会带来很多负面影响:创建索引和维护索引需要耗费时间,这个时间随着数据量的增 占用数据空间,每个索引也需要占用物理空间;当对表进行...

回答于 2021-10-22 15:43

0 赞同

索引的底层使用的是什么数据结构?

索引的出现是为了提高数据的查询效率,就像书的目录一样。一本500页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下, 那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。 同样索引也会带来很多负面影响:创建索引和维护索引需要耗费时间,这个时间随着数据量的增加而增加;...

回答于 2021-10-22 15:41

0 赞同

谈谈你对 B+ 树的理解?

1. B+ 树是基于 B 树和叶子节点顺序访问指针进行实现,它具有 B 树的平衡性,并且通过顺序访问指针来提高区间查询的性能。 2. 在 B+ 树中,一个节点中的 key 从左到右非递减排列,如果某个指针的左右相邻 key 分别是 key i 和 key i+1,且不为 null,则该指针指向节点的所有 key 大于等于 key i 且小于等于 key i+1。 3....

回答于 2021-10-22 15:41

0 赞同

为什么 InnoDB 存储引擎选用 B+ 树而不是 B 树呢?

用 B+ 树不用 B 树考虑的是 IO 对性能的影响,B 树的每个节点都存储数据,而 B+ 树只有叶子节点才存储数据,所以查找相同数据量的情况下,B树的高度更高,IO 更频繁。数据库索引是存储在磁盘上的,当数据量大时,就不能把整个索引全部加载到内存了,只能逐一加载每一个磁盘页(对应索引树的节点)。

回答于 2021-10-22 15:40