mysql进阶(一)1-13讲

1.mysql的配置文件

一  、linux:/etc/my.cnf文件                      windows:my.ini文件 

 二进制日志logbin:主从复制                   错误日志:默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息。

查询日志:log

数据文件:.myd(存放数据)  .myi(存放索引)  frm(存放表结构)

二、mysql的逻辑结构

从上到下分别为连接层 (客户端连接), 服务层(SQL分析优化缓存等等),存储引擎层(真正负责数据存储和提取)数据存储层(数据存储在文件系统上,并完成与存储引擎层的交互)

mysql进阶(一)1-13讲_第1张图片

mysql进阶(一)1-13讲_第2张图片

mysql进阶(一)1-13讲_第3张图片

三、索引优化分析

性能下降,执行时间长,等待时间长的可能原因:查询语句不好、索引失效、关联查询太多、服务器调优各个参数(缓冲,线程数)

SQL执行语句的顺序:

机器读取的顺序:先从from 开始  ;下面是SQL解析的时序图;

mysql进阶(一)1-13讲_第4张图片

表结构(notepad++中修改):


create table `tbl_dept` (
 `id` int(11) auto_increment,
  `deptName` varchar(30) default null,
  `locAdd` varchar(40) default null,
  primary key(`id`)
)engine=innodb auto_increment=1 default charset=utf8;

create table `tbl_emp` (
 `id` int(11) auto_increment,
  `name` varchar(20) default null,
  `deptId` int(11) default null,
   primary key(`id`),
   key `fk_dept_id` (`deptId`)
   #constraint `fk_dept_id` foreign key(`deptId`)  references `tbl_dept`(`id`)
)engine=innodb auto_increment=1 default charset=utf8;

insert into tbl_dept(deptName,locAdd) values('RD',11);
insert into tbl_dept(deptName,locAdd) values('HR',12);
insert into tbl_dept(deptName,locAdd) values('MK',13);
insert into tbl_dept(deptName,locAdd) values('MIS',14);
insert into tbl_dept(deptName,locAdd) values('FD',15);


insert into tbl_emp(Name,deptId) values('z3',1);
insert into tbl_emp(Name,deptId) values('z4',1);
insert into tbl_emp(Name,deptId) values('z5',1);

insert into tbl_emp(Name,deptId) values('w5',2);
insert into tbl_emp(Name,deptId) values('w6',2);


insert into tbl_emp(Name,deptId) values('s7',3);
insert into tbl_emp(Name,deptId) values('s8',4);
insert into tbl_emp(Name,deptId) values('s9',51);

 

你可能感兴趣的:(数据库)