
数据库
文章平均质量分 77
数据库知识分享。
雁南飞渡
If you have a dream, you have to defend it !
展开
-
mysql 行转列和列转行实例详解
这篇文章主要介绍了mysql 行转列和列转行实例详解的相关资料,需要的朋友可以参考下 mysql行转列、列转行语句不难,不做多余解释了,看语句时,从内往外一句一句剖析。原创 2020-07-10 11:26:10 · 14395 阅读 · 2 评论 -
sql面试题(学生表_课程表_成绩表_教师表)
表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 建表语句 CREATE TABLE student ( s# INT, sname nvarchar(32), sage INT...转载 2020-01-11 20:08:47 · 16179 阅读 · 0 评论 -
SQL中IN和EXISTS用法的区别
结论 1. in()适合B表比A表数据小的情况 2. exists()适合B表比A表数据大的情况 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用. select * from A where id in(select id from B) 以上查询使用了in语句,in()只执行一次,它查出B表中的所有id字段并缓存起来.之后,检查A表的id是否与B...原创 2018-11-12 13:07:38 · 14840 阅读 · 1 评论 -
在千万级的数据库查询中,如何提高效率?
1)数据库设计方面 a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描, 如: select id from t where num is null 可以在 num 上设置默认值 0,确保表中 num 列...原创 2018-03-29 09:20:30 · 18152 阅读 · 1 评论 -
缓存穿透,缓存击穿,缓存雪崩解决方案分析
前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。 解决方案 有...转载 2018-03-10 20:51:02 · 14801 阅读 · 1 评论