🍀浅拷贝、深拷贝深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型。浅拷贝仅仅复制了指向某个对象的指针,并不复制对象本身,新对象与旧对象还是共享同一块内存,修改其中一个对象,另一个对象也会随之变化。 深拷贝会另外创造一个一模一样的对象,新对象跟旧对象不共享内存,修改其中一个对象不会影响到另一个对象。在js当中,使用 ‘=’ 复制,就是js数组的 ......
33
0
0
2024-11-01
索引简介索引是一个排好序的数据结构,包含着对数据表里所有记录的引用指针,如下图所示。索引文件和数据文件一样都存储在磁盘中,数据库索引的目的是在检索数据库时,减少磁盘读取次数。常见的索引数据结构包括二叉树、红黑树、Hash表、B树,可以通过www.cs.usfca.edu/~galles/vis…可视化学习这些数据结构。比如建立一个二叉树:MySQL中使用的索 ......
35
0
0
2024-10-31
重定向 Rewrite一、介绍Rewrite根据nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写和者重定向。Rewrite和location类似,都可以实现跳转,区别是rewrite是在同一域名内更改url,而location是对同类型匹配路径做控制访问,或者proxy_pass代理到其他服务器。Rewrite和location ......
65
0
0
2024-10-31
配置文件路径cd /usr/local/nginx/conf cat nginx.conf 默认配置如下#user nobody; worker_processes 1; ​ #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/er ......
33
0
0
2024-10-31
nginx 安装及常用指令centos7 安装 nginxnginx 安装需要的依赖环境gccpcreopensslzlib通过指令安装yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl open ......
33
0
0
2024-10-31
重定向 Rewrite一、介绍Rewrite根据nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写和者重定向。Rewrite和location类似,都可以实现跳转,区别是rewrite是在同一域名内更改url,而location是对同类型匹配路径做控制访问,或者proxy_pass代理到其他服务器。Rewrite和location ......
33
0
0
2024-10-31
内连接(inner join)内连接:也称为等值连接,返回两张表都满足条件的部分。inner join 就等于 joinselect * from A inner join B on A.id=B.id 外连接(outer join)外连接分为左外连接(left outer join)和右外连接(right outer join)。 left outer ......
37
0
0
2024-10-31
前言在上一篇文章中,我们知道了可重复读的隔离级别采用 MVCC (multi-version concurrency control——多版本并发控制) 机制实现较高的隔离性,确保事务之间的隔离性和一致性。另外,MySQL 在读已提交的隔离级别下也实现了MVCC 机制。那么什么是MVCC?又该如何实现MVCC?MVCC 简介MySQL 中的 MVCC(Mul ......
32
0
0
2024-10-31
前言数据库通常会同时执行多个事务,这些事务可能同时对同一批数据进行增删改查操作,可能会导致脏写、脏读、不可重复读和幻读等问题。这些问题的根本是数据库的多事务并发性问题。为了解决多事务并发问题,数据库引入了事务隔离机制、锁机制和 MVCC 多版本并发控制隔离机制等一系列机制。接下来,小鱼将深入探讨这些机制,帮助各位 uu 们更好地理解数据库内部的执行原理。My ......
32
0
0
2024-10-31
前言本文若未特意说明使用的数据表,均为 MySQL索引(四)常见的索引优化手段 中的示例表。分页业务的索引优化在业务场景中,经常会使用到分页处理,那么sql 实现语句可能如下:SELECT * FROM employees limit 10000,10; 从"employees"表中选取10条数据,跳过前10000条数据,查询结果将返回"employees ......
33
0
0
2024-10-31
Trace 工具简介Trace 是 MySQL 5.6 版本后提供的 SQL 跟踪工具,用于了解优化器 (optimizer) 在选择执行计划时的决策过程,包括表访问方法、各种开销计算和转换等信息。当启用 trace 工具时,可以将跟踪结果记录到 INFORMATION_SCHEMA.OPTIMIZER_TRACE 表中,支持分析以下语句:SELECT、IN ......
37
0
0
2024-10-31
本文索引优化包含对 MySQL索引(三)explain实践,优化 MySQL 数据库查询性能 的一些补充。索引优化创建示例表CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFAULT '' COMMENT ......
31
0
0
2024-10-31
MySQL 安装为了方便管理,可以采用 docker 安装方式,也是小鱼在本文中给出的安装方式。MySQL 5.7 安装docker run -d \ -p 3306:3306 \ --privileged=true \ -v ./mysql5.7/conf/my.cnf:/etc/my.cnf \ -v ./mysql5.7/data:/var/l ......
29
0
0
2024-10-31
Explain工具EXPLAIN is used to obtain a query execution plan (that is, an explanation of how MySQL would execute a query).EXPLAIN 工具能用于获取查询执行计划,即分析 MySQL 如何执行一个 SQL 语句。我们可以通过使用EXPLAIN ......
39
0
0
2024-10-31
一、背景概述市面上有很多开源的监控告警工具,提供了丰富的、可视化的监控指标,以及告警能力,而对于服务器维度,抛开业务指标外,我们关注的无外乎cpu使用率、内存使用率和磁盘使用率等是否超过了我们既定的安全阈值,如果超过了则推送告警通知,来引起研发人员的关注,从而采取相应的应对措施。对于一些中小型项目,本身服务器数量并不算多,如果为了标准化和规范化再额外采购机器 ......
11
0
0
2024-10-31