mysql 性能优化

mysql 性能优化
一、导致性能下降的原因:
1)sql语句写的太烂
2)索引失效
3)join关联太多
4)连接池、缓冲区参数配置不合理

二、数据库执行sql语句顺序

	FROM  <table_name?
	ON <join_coindition>
	<join_type>  JOIN <right_table>
	WHERE <where_condition>
	GROUP BY <group_by_list>
	HAVING <having_condition>
	SELECT 
	DISTINCT <select_list>
	ORDER BY <order_by_condition>
	LIMIT <limit_number>

三、join方式
left join
SELECT * FROM student s LEFT JOIN teacher t
ON s.teacherId = t.id
在这里插入图片描述

right join
SELECT * FROM student s RIGHT JOIN teacher t
ON s.teacherId = t.id
在这里插入图片描述
inner join
SELECT * FROM student s INNER JOIN teacher t
ON s.teacherId = t.id
在这里插入图片描述
SELECT * FROM student s LEFT JOIN teacher t
ON s.teacherId = t.id
WHERE t.id IS NULL
在这里插入图片描述
A ∪ B
(注:UNION 合并两个查询结果集,并自带去重属性)
SELECT * FROM student s LEFT JOIN teacher t
ON s.teacherId = t.id
UNION
SELECT * FROM student s RIGHT JOIN teacher t
ON s.teacherId = t.id
在这里插入图片描述

非 ( A ∩ B )

SELECT * FROM student s LEFT JOIN teacher t
ON s.teacherId = t.id
WHERE t.id IS NULL
UNION
SELECT * FROM student s RIGHT JOIN teacher t
ON s.teacherId = t.id
WHERE s.id IS NULL
在这里插入图片描述
注:UNION 使用条件:
1)多条件查询语句的查询列数必须一致
2)多条件查询语句的查询的每一列的类型和顺序最好保持一致
2)自带
去重属性,重复项会被直接过滤掉(若使用 union all 则可以查询出重复项)

四、SELECT * FROM user_info WHERE sex LIKE ‘%%’; //数值为null的数据无法查出
SELECT * FROM user_info //查询出来所有的结果

五、mysql isnull 函数的返回值:0–false;1–true

六、通配符:% 代表多个字符;_ 代表单个字符

七、
isnull 只能判断是否为 null 值
<=> (安全等于)可以判断null值,也可以判断普通数值

八、
1)order by 后边可以跟 别名 也可以跟 表达式
2)order by 字段1,字段2 … //先以字段1排序,若字段2有多条数据,则这部分数据按照字段2的条件再进行排序

九、UTF-8 一个中文占3个字节,英文占1个字节
jdk 一个中文占2个字节,英文占1个字节

十、mysql的索引从 1 开始
注:limit(index,size) 中的index从0开始

十一、
mysql 两种删除方式的区别:
delete from tableName 一条一条删除,删除后可以回滚,自增长的值从断点开始
truncate table tableName 整表直接删除,删除后不能回滚。自增长的值从1开始。删除速度更快

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值