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秒的都会被记录到日志中  从而可以优化语句 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值