MySQL

mysql

基础
启动: service mysql start
关闭: service mysql stop
设置root账户密码:/usr/bin/mysqladmin -u root password root
查看字符编码: show variables like ‘%char%’;
设置编码: 修改my.cnf

[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
character_set_client=utf8
collation_server=utf8_general_ci

查看表结构: desc 表名;
慢查询: show variables like ‘%slow%’;
查看运行状态:(查询/增删改查 数量):show status ;

	-- 添加主键
	alter table userInfo add constraint pk_name primary key(name);
	-- 添加唯一建
	alter table cy add constraint uk_name unique index(name);

存储引擎

查看全部存储引擎: show engines;

  • InnoDB:事务优先(适合高并发;行锁)
  • MyISAM:性能优先(表锁)
  • 行锁,大量的锁导致性能降低,表锁,一张表只有一把锁,提高性能。

查看当前存储引擎: show variables like ‘%storage_engine%’
指定存储引擎:

create table tb(
	id int(4) auto_increment,
	name varchar(5),
	dept varchar(5),
	primary key(id)
)ENGINE=MyISAM  选择存储引擎
AUTO_INCREMENT=1 设置自增步长
DEFAULT CHARSET=utf8 ;设置字符编码

mysql逻辑分层在这里插入图片描述

执行流程: 客户端连接至数据库的连接层——>待执行的sql语句传入服务层,经 服务层进行sql优化——>选择当前的存储引擎——>由存储层存储数据

sql优化


b+ 树,数据只存在叶子结点上,非叶子结点的数据用于切割,数据的查询次数为n(树的高度)

索引
缺点:

  • 本身需要占据一定空间
  • 有些情况索引不适用
    1、数据量少
    2、频繁更新的字段(导致树的结构频繁改动)
    3、很少使用的字段
  • 会降低增删改的效率

优点:

  • 提高查询效率(降低IO使用率)
  • 降低CPU使用率(order by时 无需再排序)
类型单值索引唯一索引复合索引
单列,一个表可以有多个单值索引(name,age)数据列不能重复(id)多个列组成的索引(相当于二级目录)
创建索引 create 索引类型 索引名 on 表(字段)create index age_index on person(age) ;create unique index name_index on person(name) ;create index age_name_index on person(age,name);
方式二 alter table 表名 索引类型 索引名(字段)alter table person add index age_index(age) ;alter table person add unique index name_index(name);alter table person add index age_name_index(age,name);
删除索引drop index 索引名 on 表名
查询索引show index from 表名

执行计划(explain):
explain select * from token where appId = 100243;

idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra
1SIMPLEtokenALLNULLNULLNULLNULL2Using where
编号查询类型索引类型预测用到的索引实际用到的索引实际使用索引的长度表之间的引用关系通过索引查询到的数据量额外信息
id值相同,从上往下顺序执行(顺序为查询过程中间值最小,即先取数据量小的表进行查询)。 id大的先执行(即先执行嵌套内部的语句)PRIMARY:主查询(最外层查询) SUBQUERY:子查询 simple:简单查询(不包含子查询、union) derived:衍生查询(使用到临时表,子查询from中只有一个表/子查询from中union的左表) union:from子查询中 union的右表system > const > eq_ref > ref > range > index > all const:仅能查到一条数据,且是primary key或unique索引。 eq_ref:索引列是唯一值,查询结果数量等于表中总数量预测用到的索引实际用到的索引用于判断复合索引是否被完全使用,utf8一个字符占三个字节,key_len结果是字节,可以为null占一字节,varchar标识占2字节表示当前表所参照的字段(const表示常量)通过索引查询到的数据量using filesort:常见于order by语句,表示性能消耗大,需要额外一次排序(查询和排序使用不同的字段/复合索引时跨索引列)。using temporary:常见于group by语句,性能损耗大,用到了临时表。 using index:性能提升,覆盖索引,不需要回表查询,仅从索引表就能获取。**using where ** :需要回表

主从复制

授权
https://blog.csdn.net/lzpggg/article/details/4562439
https://www.cnblogs.com/bethal/p/5512755.html
配置
https://juejin.im/post/5c9d8109f265da612f1bb019
修改同步
https://blog.csdn.net/heng_ji/article/details/51013710
相关参数
https://blog.csdn.net/hao_yunfeng/article/details/82392261

函数

lag(列,偏移量) over()/** lead() over()查找同列数据**
https://www.begtut.com/mysql/mysql-lead-function.html
https://blog.csdn.net/weixin_38002569/article/details/83820525

rank() over(order by 列):同分数名次相同,但会占用下一排名
dense()_rank() over():同分数名次相同,不会占用下一排名
row_number() over:同分数名次不同

https://blog.csdn.net/weixin_43932609/article/details/107169618

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值