Mysql高级
一、mysql Linux版的安装和配置
ps -ef|grep mysql #查看mysql安位置
cd /usr/share/mysql/my-huge.cnf #mysql配置文件的位置
一般会保留原配置文件的位置和配置,将配置文件拷贝一份,拷贝到/etc/my.cnf
修改数据库字符集
在数据库插入中文数据时,出现乱码问题,一般是字符集不匹配造成的,我们要将其修改为utf-8
先通过一下两个指令来查看字符集
show variables like ‘character%’;
show variables like ‘%char%’;
对配置文件进行修改
show engines #看你的mysql现在提供什么存储引擎
show variables like ‘%storage_engine%’; #看你的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的执行顺序
手写
机读