自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 122333

特征 $A$ 的基尼指数:Gini_index(D,A)=∑v∣Dv∣∣D∣Gini(Dv)Gini_index(D,A)=∑v​∣D∣∣Dv∣​Gini(Dv)公式:Gain_ratio(A)=Gain(A)Split_Info(A)Gain_ratio(A)=Split_Info(A)Gain(A)​。信息增益:Gain(D,A)=H(D)−∑v=1V∣Dv∣∣D∣H(Dv)Gain(D,A)=H(D)−∑v=1V​∣D∣∣Dv∣​H(Dv)

2025-06-09 07:34:26 331

原创 (MySQL面试题)如何通过 EXPLAIN 分析 SQL 执行计划?

核心字段包括 id, select_type, table, partitions, type, possible_keys, key, key_len, ref, rows, filtered, Extra。Extra(额外信息):如 Using filesort(需排序)、Using temporary(用临时表)、Using index(覆盖索引) Using filesort 需优化 ORDER BY 字段。id 相同按顺序执行,id 不同从大到小执行(嵌套查询)。

2025-04-02 21:34:47 275

原创 (MySQL篇)Go操作MySQL:Go 中如何实现 MySQL 连接池?常用驱动有哪些?

通过 db.SetConnMaxLifetime 定期重置连接,或实现 Ping 检查健康状态。

2025-04-02 21:00:19 741

原创 (MySQL高频面试题)什么是覆盖索引?如何利用它优化查询?

但要是创建覆盖索引,也就是联合索引 (user_id, create_time, status, order_id),就能直接通过索引返回结果并进行排序,极大地提升了查询效率。简单来说,当索引涵盖了查询所涉及的所有字段,包括 SELECT、WHERE、ORDER BY、GROUP BY 语句中的列时,这个索引就被称为覆盖索引。一方面,它会增加索引体积,从而对插入和更新操作的速度产生影响,因为数据库需要维护更多的索引页,这是写入性能方面的代价。索引字段(如包含大文本字段),导致索引体积过大,影响写入性能。

2025-04-02 20:39:33 699

原创 (Redis高频面试题)缓存穿透、缓存雪崩、缓存击穿的原因及解决方案?

大量缓存数据同时过期或缓存服务宕机,导致请求直接穿透到数据库,引发连锁故障。某个热点Key突然过期时,高并发大量请求同时访问数据库,导致瞬时压力过大。大量查询不存在的数据是缓存穿透大量查询一批过期的数据是缓存雪崩大量查询同一个热点key是缓存击穿。

2025-04-01 19:24:14 1642

原创 Makefile的安装与使用

所需软件在 Linux 系统中使用 Makefile,需要安装 make 工具,此外,根据你的项目类型,可能还需要安装相应的编译器,例如 C/C++ 项目需要安装 gcc 和 g++。安装方法Debian 或 Ubuntu 系统执行上述命令后,系统会自动下载并安装所需的软件包。CentOS 或 Fedora 系统安装完成后,同样可以使用 make --version 命令来验证 make 是否安装成功。

2025-03-31 19:33:18 2467

原创 (MySQL高频面试题)什么是聚簇(集)索引和非聚簇(二级索引)索引?(什么是回表?)

非聚簇索引,也叫二级索引,它和数据是分离的。还有在 MySQL 5.6 及以上版本,有个索引下推技术,也就是 Index Condition Pushdown(ICP),它能把过滤条件下推到存储引擎,减少回表次数,比如联合索引 (a,b),查询 a=1 AND b>10 的时候,就能发挥作用。MyISAM 的话,所有索引都是非聚簇索引,它的叶子节点存储数据行地址,也就是 MYD 文件偏移量,数据和索引是完全分离的,查询时需要访问两次,一次是索引文件.MYI,一次是数据文件.MYD。

2025-03-31 16:46:32 535

原创 Linux常用命令

scp /xx/main 192.168.10.10:/yy/ //将本地xx目录下的main文件发送到192.168.10.10服务器的yy目录下。wget -O csdn.tar.gz http://blog.youkuaiyun.com/-3.2.1.tar.gz //下载并以指定文件名保文件。wget http://blog.youkuaiyun.com/-3.2.1.tar.gz //从该地址下载文件。tar -zxvf a.tar -C /usr------ //指定解压的位置。

2025-03-31 16:07:30 539

原创 (MySQL高频面试题)MySQL 索引的底层数据结构(B+树)有什么优势?

拿 B 树来说,B 树的非叶子节点是存储数据的,这就导致单节点能容纳的键值变少了,树高可能就更高。这就使得树的高度大幅降低,在查询数据的时候,大部分数据是存放在磁盘里的,要从磁盘读取数据就得进行磁盘 I/O 操作,树的高度降低了,磁盘 I/O 次数自然就少了,查询速度就会加快。当然,插入数据的时候可能会引发页分裂,不过这也是 B + 树的一个特点。还有覆盖索引优化,要是我们查询的字段都包含在索引键里,比如说联合索引,那就可以直接从叶子节点返回数据,都不用回表查询了,这能大大提高查询效率。

2025-03-30 14:29:34 384

原创 (MySOL高频面试题)什么是脏读、不可重复读、幻读?如何解决?

举个例子,事务 A 查询年龄小于 30 岁的用户有 10 人,事务 B 插入了一条新用户数据并提交,事务 A 再次查询就发现有 11 人了。给您举个例子,就好比在电商系统里,用户 A 看到订单金额被改成了 100 元,可这其实是事务 B 未提交的操作,要是事务 B 最后回滚了,金额就恢复原值了,那用户 A 之前看到的 100 元就是脏数据。事务A第一次查询余额为500元,事务B扣款后提交,事务A第二次查询余额变为400元。事务A读取到事务B 未提交 的修改数据,若事务B回滚,事务A读到的是“脏数据”。

2025-03-30 14:06:52 1474

原创 (MySQL高频面试题)事务隔离级别有哪些?默认级别是什么?

可重复读(Repeatable Read):在可重复读隔离级别下,事务在整个执行周期内,多次读取同一数据所得到的结果始终保持一致。它的实现原理是:在事务首次执行查询时生成 Read View,并在后续的查询过程中复用该 View,同时结合间隙锁,以此来防范因其他事务执行插入操作而导致的幻读问题。这种隔离级别特别适用于那些对事务内数据一致性要求极高的场景,例如银行对账系统中多次读取账户余额的操作,确保在同一个事务内,数据读取结果的稳定性和一致性。一般来说,存在四个主要的事务隔离级别:​。

2025-03-29 20:48:01 317

原创 (MySQL高频面试题)MySQL 事务的四大特性是什么?

在我的项目经验中,以转账场景为例,当进行转账操作时,涉及到扣款和加款两个操作,这两个操作必须作为一个原子操作。而在性能与 ACID 特性的权衡上,高隔离级别,像 SERIALIZABLE,虽然可以提供最强的数据隔离,但由于其对并发事务的严格限制,可能会显著降低系统的并发性能。这主要是依靠 Redo Log 来实现,Redo Log 会顺序写入磁盘,当系统崩溃恢复时,通过重放 Redo Log 中的日志记录,系统可以将数据恢复到崩溃前的正确状态。(如约束、触发器等),需举例说明(如转账总金额不变)。

2025-03-29 19:55:01 384 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除