Mysql高级

尚硅谷mysql高级部分学习

一、mysql Linux版的安装和配置

ps -ef|grep mysql #查看mysql安位置

Mysql高级

Mysql高级

cd /usr/share/mysql/my-huge.cnf #mysql配置文件的位置

一般会保留原配置文件的位置和配置,将配置文件拷贝一份,拷贝到/etc/my.cnf

Mysql高级
修改数据库字符集
在数据库插入中文数据时,出现乱码问题,一般是字符集不匹配造成的,我们要将其修改为utf-8
Mysql高级
先通过一下两个指令来查看字符集

show variables like ‘character%’;
show variables like ‘%char%’;

Mysql高级
对配置文件进行修改
Mysql高级
Mysql高级

show engines #看你的mysql现在提供什么存储引擎
show variables like ‘%storage_engine%’; #看你的mysql当前默认的存储引擎
Mysql高级

二、索引优化分析

1、性能下降SQL慢,执行时间长,等待时间长
原因:

1、查询语句写的烂
2、索引失效
3、关联查询太多join(设计缺陷或不得已的需求)
4、服务器调优及各个参数设置(缓冲、线程数等)

索引分为单值和复合索引

单值索引,给某张表的某一个字段建一个索引

create index 索引名(idx_表名_字段名) on 哪个表(哪个字段)
以user表的name字段为例
create index idx_user_name on user(name)

复合索引,给某张表的多个字段建一个索引

create index 索引名(idx_表名_字段名) on 哪个表(哪个字段)

以user表的name、email字段为例
create index idx_user_nameEmail on user(name,email)

常见的Join查询
SQL的执行顺序
手写
Mysql高级
机读
Mysql高级
Mysql高级