MySQL优化知识点
目录
- 一、设计方面
- 1、存储引擎
- 1.1、`InnoDB`
- 1.2、MyISAM
- 1.3、锁的概念
- 2、字段类型选择
- 3、范式与逆范式
- 3.1、范式
- 3.2、逆范式
- 二、功能方面
- 1、索引
- 1.1、索引概述
- 1.2、索引种类
- 1.3、总结
- 2、查询缓存`query_cache`
- 2.1、开启
- 2.2、注意事项
- 3、分区
- 3.1、分区算法
- 3.2、分区管理与选择
- 4、分表
- 4.1、水平分表
- 4.2、垂直分表
- 三、架构方面
- 1、主从复制
- 1.1、为什么做主从复制
- 1.2、主从复制的流程
- 2、读写分离
- 2.1、什么是读写分离
- 2.2、为什么要读写分离
- 2.3、什么时候读写分离
- 2.4、常见的读写分离方式
- 3、负载均衡
- 3.1、随机
- 3.2、轮询
- 3.3、哈希
- 3.4、最小压力
- 3.5、实际情况
- 四、SQL优化
- 1、对于并发性的SQL
- 2、大量数据的插入
- 3、分页
- 4、随机选一些数据,不要使用 Order by Rand()
MySQL的优化主要分为四大方面:
- 设计:存储引擎、字段类型、范式与逆范式
- 功能:索引、缓存、分区分表
- 架构:主从复制、读写分离、负载均衡
- SQL:测试、经验
一、设计方面
1、存储引擎
存储引擎是一种存储MySQL中对象(记录和索引)的一种特定的结构(文件结构),处于MySQL服务器的最底层,直接存储数据。
1.1、InnoDB
支持事务、行级锁定、外键约束,事务安全型存储引擎。更加注重数据的完整性和安全性。
-
①、存储格式:
数据、索引集中存储,存储于同一个表空间文件中。独立表空间:
db.opt
里存放了数据库的配置信息table_name.frm
每个表都有一个.frm
的描述文件,表结构文件- table_name.idb 每个表还有一个 .idb文件,表索引文件
每个表都有自己的独立表空间,存储了数据和索引;可以实现单表在不同的数据进行迁移,表空间可以回收。
表空间过大的时候可以使用分区表共享表空间:(默认的表空间文件格式)
所有的表数据、索引文件都放在一个文件中,默认在data
下的文件ibdata1
,初始化为10M
- 优点:可以将表空间分成多个文件存放在各个磁盘上(表空间文件大小不受表大小的限制,如同一个表可以分布在不同的文件上),数据和文件放在一起方便管理。
- 缺点:所有的数据和索引存放到一个文件中,将来会是一个很大的文件,虽然可以把一个大文件分成多个小文件,但是多个表及索引在表空间中混合存储,这样对一个表做了大量删除操作后表空间将有大量的空隙,特别是对统计分析、日志系统这类应用最不适合用共享表空间。
-
②、数据按照主键顺序存储
插入时做排序工作,效率低
-
③、特定功能
事务、外键约束:都是维护数据的完整性
并发处理:行级锁 -
④、总结
innodb
擅长事务、数据完整性及高并发处理,不擅长快速插入(插入前需要排序,消耗时间)和检索
1.2、MyISAM
- ①、存储方式
数据和索引分别存储于不同的文件中。 - ②、数据的存储顺序为插入顺序
插入速度快(没有经过排序),空间占用量小。 - ③、功能
支持全文索引
数据压缩存储 - ④、
InnoDB
与MyISAM
的取舍
InnoDB
:数据完整性,并发性处理,擅长更新,删除
MyISAM
:高速查询和插入。擅长插入和查询。
1.3、锁的概念
当客户端操作表时,为了保证操作的隔离性(多个客户端操作不能互相影响),通过加锁来处理
操作方面 :
- 读锁:读操作时增加的锁,也叫共享锁,
S-lock
。特征是阻塞其他客户端的写操作,不阻塞读操作。(并发读) - 写锁:写操作时增加的锁,也叫独占锁或排他锁,
X-lock
。特征是阻塞其他客户端的读、写操作。
锁定粒度(范围):
- 行级:提升并发性,锁本身开销大。
- 表级:不利于并发性,锁本身开销小。
2、字段类型选择
字段类型应该满足要求:
尽可能小(占用存储空间少),尽可能定长(占用存储空间固定),尽可能使用整数
3、范式与逆范式
3.1、范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。
- 第一范式
1NF
,原子性
例如:地址拆分成 省 市 区 详细地址 - 第二范式
2NF
,消除部分依赖 - 第三范式
3NF
,消除传递依赖
例如:订单表中只存用户id
,不存用户姓名、联系方式等
3.2、逆范式
逆范式是指打破范式,通过增加冗余或重复的数据来提高数据库的性能,
例如:
商品表 :商品id 商品名称 商品分类
分类表:分类id 分类名称
查询某类别下商品的数量,就是逆范式
二、功能方面
1、索引
1.1、索引概述
利用关键字,就是记录的部分数据(某个字段。某些字段,某个字段的一部分),建立与记录位置的对应关系,就是索引。
索引的关键字一定是排序的。索引本质上是表字段的有序子集,它是提高查询速度最有效的方法。
1.2、索引种类
从索引的定义方式和用途来看:
- 主键索引(
primary key
):要求关键字不能重复,也不能为null
。同时增加主键约束。 - 唯一索引(
unique key
):要求关键字不能重复。同事增加唯一约束 - 普通索引(
index
):对关键字没有要求。 - 全文索引(
fulltext key
):关键字来源不是所有字段的数据,而是从字段中提取的特别关键词。
create table student (stu_id int unsigned not null auto_increment,xing varchar(8) not null default '',ming varchar(32) not null default '',stu_sn char(10) not null default '',stu_desc text, primary key (`stu_id`), -- 主键索引unique index `ui` (`stu_sn`), -- 唯一索引index `xingming` (`xing`,`ming`),-- 复合,普通索引fulltext index `desc` (`stu_sesc`) -- 全文索引
) engine=myisam charset=utf8;
1.3、总结
- 不要过度索引。索引越多,占用空间越大,反而性能变慢;
- 只对
where
子句频繁使用的字段建立索引; - 尽可能使用唯一索引,重复值越少,索引效果越强;
- 使用短索引;
- 充分利用左前缀,这是针对复合索引,因为
where
语句如果有and
并列,只能识别一个索引(获取记录最少的那个),所以需要使用复合索引,将查询最频繁的放到左边; - 索引存在,如果没有满足使用原则,也会导致索引无效。
2、查询缓存query_cache
将select
的结果,存取起来供二次使用的缓存区域:
2.1、开启
开启查询缓存,通过变量控制
show VARIABLES LIKE 'query_cache%';
Variable_name | Value |
---|---|
query_cache_limit | 1048576 |
query_cache_min_res_unit | 4096 |
query_cache_size | 0 (缓冲区大小) |
query_cache_type | ON (开关) |
query_cache_wlock_invalidate | OFF |
set GLOBAL query_cache_type = 1;set GLOBAL query_cache_size = 1024*1024*32;
Variable_name | Value |
---|---|
query_cache_limit | 1048576 |
query_cache_min_res_unit | 4096 |
query_cache_size | 33554432(缓冲区大小) |
query_cache_type | ON (开关) |
query_cache_wlock_invalidate | OFF |
2.2、注意事项
查询缓存存在判断是严格依赖于select 语句本身的:严格保证SQL一致。
如果查询时包含动态数据,则不能被缓存。
一旦开启查询缓存,MySQL
会将所有可以被缓存的select
语句都缓存。如果存在不想使用缓存的SQL
执行,则可以使用 SQL_NO_CACHE
语法提示达到目的:
select SQL_NO_CACHE * from table where ......;
注意:这里的缓存仅当数据表的记录改变时,缓存才会删除。而不是依靠过期时间的。
3、分区
日常开发中会经常遇到大表的情况。所谓大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就是减少数据库的负担,提高数据库的效率,通常来讲就是提高表的增删改差效率。
分区,partition
,分区是将数据分段划分在多个位置存放,可以是同一块磁盘也可以在不同的机器。分区后,表面上还是一张表,但数据散列到多个位置了。app
读写的时候操作的还是大表名字,db
自动去组织分区的数据。
其实每个分区,就是独立的表。都要存储该分区数据的数据、索引等信息。
**创建分区:**在创建表的时候,指定分区的选项:
Create table table_name
(定义)
Partition by
分区算法 (参数)分区选项。
例如 Partition by key (id) partitions 5
;
create table table_name(id int unsigned not null auto_increment,title varchar(255),primary key (id)
) engine=innodb
charset=utf8
partition by key (id) partitions 5;
采用key
取余算法,根据id的值进行取余,即对5取余,然后分配到5个分区里。
注:分区与存储引擎无关,是MySQL
逻辑层完成的。
可以通过变量查看当前MySQL
是否支持分区:
show variables like 'have_partitioning';
3.1、分区算法
MySQL
提供4种分区算法,
- 取余:
key
,Hash
- 条件:
list
,range
参与分区的参数字段需要为主键的一部分。
-
key
– 取余,按照某个字段进行取余partition by key (id) partitions 5
; 分成五个区,就是对5取余。将id对5取余。 -
hash
– 取余,按照某个表达式的值进行取余
示例:学生表分区,按照生日的月份,划分到12个表中。-- hash create table student_hash(id int unsigned not null auto_increment,birthday date,primary key (id,birthday) ) engine = myisam partition by hash (mouth(birthday)) partitions 12;
注意:
key、hash
都是取余算法,要求分区参数(括号里的),返回的数据必须为整数。 -
list
– 条件 – 列表,需要指定的每个分区数据的存储条件。
示例:按照生日中的月份,分成春夏秋冬四个分区。-- list create table student_list(id int unsigned not null auto_increment,birthday date,primary key (id,birthday) ) engine = myisam partition by list (mouth(birthday)) (partitions chun values in (3,4,5),partitions xia values in (6,7,8),partitions qiu values in (9,10,11),partitions dong values in (12,1,2) );
list
,条件依赖的数据是列表形式。 -
range
– 条件 – 范围,条件依赖的数据是一个条件表达式。
逻辑:按照生日的年份分成不同的年龄段。-- range create table student_list(id int unsigned not null auto_increment,birthday date,primary key (id,birthday) ) engine = myisam partition by range (year(birthday)) (partitions p_70 less than (1980),partitions p_80 less than (1990),partitions p_90 less than (2000),partitions p_00 less than maxvalue );
3.2、分区管理与选择
-
取余:
key
,hash
- 增加分区数量 :
add partition partitions N
alter table student_hash add partition partitions 5;
- 减少分区数量 :
coalesce partition N
alter table student_hash coalesce partition 7;
采用取余算法的分区数量的修改,不会导致已有分区数据的丢失,因为会重新分配数据到新的分区。
- 增加分区数量 :
-
条件:
list
,range
- 添加分区 :
alter table student_range add partition (partition p_new00 values less than (2010) );
- 删除分区 :
drop partition
分区名称alter table student_range drop partition p_00;
注意:删除条件算法的分区,会导致分区数据丢失。添加分区不会。
- 添加分区 :
-
选择分区算法
平均分配:就按照主键进行
key
(primary key
)即可。(非常常见)按照某种业务逻辑分区:选择那种最容易被筛选的字段,整数型。
4、分表
分表是将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为字表,每个表都对应三个文件,MYD
数据文件,.MYI
索引文件,.frm
表结构文件。这些字表可以分布在同一块磁盘上,也可以在不同的机器上。app
读写的时候根据事先定义好的规则得到对应的子表名,然后去操作它。分表技术是比较麻烦的,需要手动去创建字表,app
服务端读写的时候需要计算子表名。
分表是分区之前用的,MySQL 5.1
后,就开始用分区代替分表了。分表很少用了。
4.1、水平分表
-
创建结构相同的N个表;
-- 表1 create table student_0 (id int not null auto_increment,name varchar(16),primary key(id) ); -- 表2 create table student_1 (id int not null auto_increment,name varchar(16),primary key(id) ); -- 表3 create table student_2 (id int not null auto_increment,name varchar(16),primary key(id) ); -- 表4 create table student_3 (id int not null auto_increment,name varchar(16),primary key(id) );
再创建用于管理学生ID的表
student_id
:(该表是为了提供自增的id)create table student_id (id int auto_increment,primary key(id) );
PHP客户端逻辑
$student_table_list = array(0=>'student_0',1=>'student_1',2=>'student_2',3=>'student_3'); $student_table_count = count($student_table_list); # 演示以主键平均分配比例,完成人为分表$sql_id = 'insert into student_id values(null)'; $student_id = last_insert_id(); $student_table = $studnet_table_list[$student_id%$student_table_count];$sql = "insert into $student_table values ($student_id,'学生姓名')";
4.2、垂直分表
一张表中存在多个字段。这些字段可以分为常用字段和非常用字段,为了提高查表速度,我们可以把这两类字段分开来存储。主要目的是减少每条记录的长度。
通常我们按照以下原则进行垂直拆分:
-
把不常用的字段单独放在一张表;
-
把
text
、blog
等大字段拆分出来放到附表中; -
经常组合查询的列放在一张表中;
例如学生表可以分成:
基础表(student_base
)和额外表(student_extra
),两张表中记录为1:1的关系。基础信息表
student_base
id
name
age
额外信息表
student_extra
id
籍贯
政治面貌
三、架构方面
服务器架构,不仅仅是用一台MySQL
。
1、主从复制
MySQL
服务器内部支持复制功能,仅仅需要通过配置完成下面的拓扑结构。一主多从典型结果:主服务器负责写数据。从服务器负责读数据。复制功能MySQL
会自带。
1.1、为什么做主从复制
- 在业务复杂的系统中,有这么一个情景,有一句
SQL
需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运行。 - 做热数据的备份,主库宕机后能及时替换主库,保证业务可用性。
- 架构的扩展。业务量越来越大,
I/O
访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O
访问的频率,提高单个机器的I/O
性能。
1.2、主从复制的流程
- ①、主库
db
的更新事件(update
、insert
、delete
)被写到binlog
(日志文件); - ②、主库创建一个
binlog dump thread
(日志转储线程),把binlog
的内容发送到从库; - ③、从库启动并发起连接,连接到主库;
- ④、从库启动后,创建一个
I/O
线程,读取主库传过来的binlog
内容并写入到relay log
(中继日志); - ⑤、从库启动之后,创建一个
SQL
线程,从relay log
里面读取内容,从Exec_Master_Log_Pos
位置开始执行读取到的更新事件,将更新内容写入到slave
的db
2、读写分离
2.1、什么是读写分离
读写分离,基本原理是让主服务器处理事务性增、删、改操作(insert
、delete
、update
),而从数据库处理 select
查询操作。
数据库复制被用来把事务操作导致的变更同步到集群中的从数据库。
2.2、为什么要读写分离
因为数据库的“写” (写10000
条数据到MySQL
可能要3
分钟)操作是比较耗时的;
但是数据库的“读” (从MySQL
读10000
条数据可能只要3
秒钟)。
所以读写分离,解决的是,数据库的写入,影响了查询的效率
2.3、什么时候读写分离
数据库不一定要读写分离,如果程序使用数据库较多时,而更新少,查询多的情况下会考虑使用,利用数据库 主从同步 。可以减少数据库压力,提高性能。
2.4、常见的读写分离方式
-
基于程序代码内部实现
在代码中根据select
、insert
进行路由分类,这类方法也是目前生产环境下应用最广泛的。- 优点是性能好,因为程序在代码中实现,不需要增加额外的硬件开支。
- 缺点是需要开发人员来实现,运维人员无从下手。
-
基于中间代理层实现
代理一般介于应用服务器和数据服务器之间,代理数据库服务器接收到应用服务器的请求后根据判断后转发到 后端数据库。只要服务器安装了
mysql proxy
或Ameoba
软件就可以实现读写分离,该服务器会判断客户端的操作是读还是写,从而选择操作MySQL主服务器还是从服务器。
3、负载均衡
在建立数据库连接的时候,会同时与每台数据库服务器建立连接,之后针对客户端的每次请求,都会根据负载均衡算法,独立地选出某个数据库节点来执行这个请求。
负载均衡算法:
3.1、随机
随机就是没有规律的,随便从负载中获得一台,又分为完全随机和加权随机
-
完全随机:当有充足的请求次数时,每台服务器被请求的次数都是平均的。
- 优点:最简单的负载均衡算法。
- 缺点:因为服务器有好有坏,处理能力是不同的。当希望性能好的服务器处理更多请求的时候,就需要用到加权随机。
-
加权随机:也是采用的随机算法,但是每台服务器设置了权重,权重大的服务器获得的概率大一些,权重小的服务器获得的概率小一些。
3.2、轮询
轮询又分为三种:
- 完全轮询:比较简单,问题和完全随机一样
- 加权轮询:加权轮询和加权随机类似
- 平滑加权轮询: 平滑加权 是一种算法,根据这个算法计算每次轮询的服务器
3.3、哈希
根据某个值生成一个哈希值,然后对应到某台服务器上。(可以根据用户,请求参数等,如果根据用户,就巧妙的解决了负载均衡下session
共享的问题,因为 小a
永远是去 A
服务器,小b
永远去B
服务器)
比如根据服务器的 IP
,计算出IP
的哈希值,然后放到哈希环里;来了一个请求,根据请求的某个值进行哈希,计算出来的哈希值在那个区间内,就按顺时针选择服务器。
哈希环:环(圆)的每个点都是由计算出的哈希值构成的
使用虚拟节点避免某个服务器故障的问题。
3.4、最小压力
最小压力负载均衡算法就是选择一台最“悠闲”的服务器。
例如:A
服务器100
个请求,B
服务器10
个请求,C
服务器3
个请求,那就选择C
服务器。
3.5、实际情况
在实际的负载均衡下,可能会将多个负载均衡算法合在一起实现,比如先根据最小压力算法,当有几台服务器压力一样小的时候,再根据权重取出一台服务器,如果权重也一样,再随机取一台,等等。
四、SQL优化
1、对于并发性的SQL
少用(不用)多表操作(子查询,联合查询),而是将复杂的SQL
拆分成多次执行。如果查询很原子(很小),会增加查询缓存的利用率。
2、大量数据的插入
多条 insert
或者 load data into table
(从文件载入数据到表里)
建议:先关闭约束及索引,完成数据插入,再重新生成索引及约束。
-
针对于
MyISAM
,步骤:alter table table_name disable keys;
禁用索引约束- 大量的插入
alter table table_name enable keys;
启用
-
针对
InnoDB
,步骤:drop index,drop constraint;
删除索引及约束,要保留主键begin transaction | set autocommit = 0;
开启事务,不让它自动提交- [数据本身已经按照主键值排序]
- 大量的插入
commit
;add index,add constraint
;
3、分页
4、随机选一些数据,不要使用 Order by Rand()
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- drools规则引擎基本语法(五)
1,Drools提供的比较操作符,如下表:符号说明>大于<小于>=大于等于<=小于等于==等于!=不等于contains检查一个Fact对象的某个属性值是否包含一个指定的对象值not contains检查一个Fact对象的某个属性值是否不包含一个指定的对象值memberOf判断一个Fact对象的某个属…...
2024/4/16 9:14:12 - openpose论文解读_思维导图
本文的思维导图是简单对openpose论文解读_思维导图 高清版本请见 https://github.com/Lininggggggg/(求star) 或者csdn下载区https://download.csdn.net/download/Lininggggggg/12486301...
2024/4/27 15:45:15 - Linux Mysql创建新用户并允许远程连接
第一步 登陆mysql:mysql -u 数据库用户名 -h 数据库IP -p根据提示 输入数据库密码第二步:GRANT ALL PRIVILEGES ON *.* TO 自定义用户名@% IDENTIFIED BY 自定义密码 WITH GRANT OPTION;flush privileges;第三步 查看数据:SELECT DISTINCT CONCAT(User: ,user,@,host,;) AS …...
2024/4/16 9:14:32 - idea 右下角不显示 Git Branch
现象2. 底边框 右击3. 勾选 Git Branch...
2024/4/24 9:54:43 - 日志文件log4j.properties的用法
这个直接放到resources文件夹下即可 , 另外你得在D盘下创建一个axis.log的文件 , 运行起来即可看到 ,当然你也可以改路径 , 不过记得用双\不要用单 大家复制过去把文件名改成标题中的名字即可 # Set root category priority to INFO and its only appender to CONSOLE. #log4j.…...
2024/4/27 14:17:04 - Matlab中欧拉角到旋转矩阵、旋转矩阵到欧拉角之间的转换关系
Content欧拉角到旋转矩阵:旋转矩阵到欧拉角: 欧拉角到旋转矩阵: rotx(10)*roty(20)*rotz(30)这个是动态的旋转矩阵计算方法,即绕每次旋转之后的坐标系进行旋转。 旋转矩阵到欧拉角: dcm2angle()主要用这个函数进行,但是要区分是静态欧拉角还是动态的欧拉角。 如果是静态的…...
2024/4/24 9:54:41 - CSS实现三角形
效果:第一步:将div的宽、高都设为0 第二步:需要哪边的三角形,就设置哪条边的颜色,其余不要的设置为transparent 第三步:为了照顾兼容性 低版本的浏览器,加上 font-size: 0; line-height: 0; <!DOCTYPE html> <html><head><meta charset="UTF…...
2024/4/27 13:30:59 - 【线性代数】行列式
知识图谱总结 待续,,,...
2024/4/24 9:54:39 - C# 图书管理系统【含 源代码+数据库】
1.系统分析1.1基本需求功能点分析图书借阅管理系统,主要目标是简化现有的人工管理,通过科学的计算机管理图书借阅管理,提高工作效率,实现日常管理信息化,无纸化。1)系统用户主要分为两大类:a.管理员用户类(相当于一名有各种操作权限的超级用户) b.普通用户类。系统根据…...
2024/4/27 14:20:56 - 元组字典集合
元组(tuple) 当需要写入列表中元素不需要改变时,可以使用元组。 可以tuple[number]输出number对应的值。 如果元组不是空的,他至少必须有个’,’ 元组在定义时可以不加括号,例如: tup=1,2,3,4,5 print(tup)=(1,2,3,4,5) 元组的解包 a,b,c,d,e=tup 则a=1,b=2…...
2024/4/24 9:54:38 - IDEA|WEBSTREAM安装注册
IDEA|WEBSTREAM安装注册这里只讲注册,不解释里面全都有附件链接:https://pan.baidu.com/s/1I3EZ2RrolWJ0iALBsHZUgw 提取码:2y2w...
2024/4/24 9:54:39 - AOSP SELinux error
在Mac OS Catalina下编译AOSP报错:FAILED: build out/target/product/generic_x86_64/obj/ETC/sepolicy_tests_intermediates/sepolicy_tests Outputs: out/target/product/generic_x86_64/obj/ETC/sepolicy_tests_intermediates/sepolicy_tests Error: exited with code: 1 C…...
2024/4/24 9:54:35 - PAT A1017 Queueing at Bank
文章目录题目描述知识点实现码前思考代码实现码后反思题目描述知识点 STL之priority_queue 实现 码前思考时间最好用秒数s来记录 需要记录到来时间,开始服务时间和结束服务时间; 记得考虑一个用户运气好,来的时候不用等; 记得按来的时间排序;代码实现 //每个window一个人,…...
2024/4/24 9:54:35 - PixHawk飞控和Mission Planner地面站安装调试
常用地面站软件主要有QGroundControl和MissionPlanner两种 下面以mission planner来介绍如何使用地面站软件进行固件升级和传感器校准一、PixHawk飞控配置www.pixhawk.com PixHawk官网:http://www.pixhawk.com/ 1.1 硬件配置主处理器:32位STM32F427,主频168 MHz ,256 KB RA…...
2024/4/24 9:54:33 - Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to t
这个是因为elasticsearch7.0 之后不支持type导致的…...
2024/4/24 9:54:32 - day_8——LeetCode1:两数之和
Day_8 —— LeetCode练习题:两数之和 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例: 给定 nums = [2, 7, 11…...
2024/4/16 9:15:13 - Nginx+Tomcat做负载均衡
Nginx+Tomcat做负载均衡开启虚拟机两台通过xshell连接此虚拟机,可能连接不上,由于权限问题,sudo chmod 777 +文件夹名称机器配置机器A配置:机器B配置:更改机器A,B的Tomcat配置,两台机器端口需不一致,然后 ./startup配置机器A和B的jdk环境变量 ,在etc/profile中添加配置机…...
2024/4/27 14:33:34 - Makefile文件注释
#目标文件 PROJECT = resnet50 #?=是如果没有定义,则定义 CXX ?= g++ CC ?= gcc CFLAGS += -O2 -Wall -Wpointer-arith -std=c++11 -ffast-math CFLAGS += -I…/common/ LDFLAGS += -ln2cube -lhineon -lopencv_videoio -lopencv_imgcod…...
2024/4/15 5:58:28 - Go系列(零):Go基础
Go语言入门Go是一门编译型语言,Go语言的工具链将源代码及其依赖转换成计算机的机器指令 Go语言提供的工具都通过一个单独的命令go调用,go命令有一系列子命令。go run helloworld.go # run指令,编译源文件,链接库文件,并允许最终生产的可执行文件go build helloworld.go #…...
2024/4/16 9:15:28 - ggplot2的一些有用的绘图案例
本文转自《R友舍》公众号,关注R友舍,后台回复ggplot2,获取全文代码什么类型的可视化用于什么类型的问题?本文可帮助您为特定分析目标选择正确的图表类型,以及如何使用ggplot2在R中实现它。一个有效的图标:在不歪曲事实的情况下传达正确的信息 简单而优雅的表达信息内容 通…...
2024/4/16 9:15:03
最新文章
- js如何点击生成4位随机数
效果图: 代码: <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Generat…...
2024/4/27 16:42:01 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - [C++/Linux] UDP编程
一. UDP函数 UDP(用户数据报协议,User Datagram Protocol)是一种无连接的网络协议,用于在互联网上交换数据。它允许应用程序发送数据报给另一端的应用程序,但不保证数据报能成功到达,也就是说,它…...
2024/4/23 6:13:18 - 一场人生的风险控制,商业社会识人指南
一、资料前言 本套社会识人资料,大小679.94M,共有37个文件。 二、资料目录 识人的终极目的:一整场人生的风险控制.pdf 信任的搭建:更多的时间与维度.pdf 没有搞不定的人!角色人格与全面人格.pdf 政治不正确的正确…...
2024/4/22 12:25:15 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/26 20:12:18 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/25 18:39:22 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/26 21:56:58 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/26 16:00:35 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/25 18:39:16 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/26 22:01:59 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/25 2:10:52 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/25 18:39:00 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57