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