Mysql优化学习-查找慢查询语句

如何添加索引

1.在表创建时加

create database table1{

        id primary key not null,

        index|keys 索引名 (id)

}

2.在已经创建好的表中添加

create index|keys 索引名 on 表名 (字段名)

3.如何使用索引  一般是用添加了索引的字段作为where的条件

如:select * from tables where id = 3;(ID是作为索引字段)

一般的我们可以将字段当成是变量来进行运算,同时在sql中 比较判断的结果为0和1  ture 为1  false为0

比如select scroe>60 from stu;  则结果会是0和1

select sum(scroe>60) from stu;这样我们就可以知道全班及格人数了 因为每执行一次scroe>60就会返回0或1  因此只要对此求和就行

4.where和having的区别   

where不能用别名来做判断   having可以使用别名

比如:select  (mark_price - price) as 'cj' from marker having cj > 200; 如果使用where 则会报错

mysql的优化-------------

一、表的设计合理性

三范式的表能用联表推导的字段就不要都写在一个表上

如何检查出  查询比较慢的sql语句

定位慢查询

测试数据生成   利用存储过程  借助自定义函数来生成

mysql定义函数

mysql定义存储过程

set long_query_time = 3;先设置mysql认定慢查询的时间为3秒   默认是10秒

这样  只要sql语句超过了3秒的都会被记录到日志中  从而可以优化语句 

猜你喜欢

转载自blog.csdn.net/weixin_41421227/article/details/88691362