比如说我们有两张表 teacher 和 student , 里面的数据分别是下面
文章插图
文章插图
这里这两张表当中 , 存在相同的一条数据 , 就是(4 , 马六)这一条数据 , 我们可以看看使用 UNION ALL 和 UNION 的效果
文章插图
文章插图
可以看到第二次的查询结果中已经少了一行 , 说明我们上面说的 UNION 会去重的逻辑是存在的 , 而且去重是全字段都相同的时候才会被去重 。
7、用精确的字段代替 *另一个比较影响性能的点是使用 * , 很多小伙伴为了省事 , 在编写查询语句的时候 , 会使用 * 来代替所有的字段 , 其实并不是说这种写法有什么问题 , 只是这种写法有点不可控 , 使用 * 表示要查询所有字段 , 当我们的表是一个很简单的表 , 而且里面的字段都是一些小字段的时候 , 使用 * 完全是可以的 。
但是如果是对于一些大表特别是有 text 这种大字段的表 , 或者是一些敏感数据的表 , 我们还使用 * 号去查询数据的话 , 就会有很大的问题了 , 一方面是有安全隐患 , 一方面还是增加磁盘 , 内存和网络的传输 , 完全得不偿失 。
8、给必要的字段增加索引索引作为数据库里面一个很重要的内容 , 相比大家都不陌生 , 给必要的字段加上索引也是很有必要的 , 除了主键索引 , 我们还可以添加聚簇索引和唯一索引 , 关于索引的内容感兴趣的可以去看看我们的这篇文章面试官问我索引为什么这快?我好像解释不清楚了 , 这里阿粉就不细说了 。
总结后端程序员除了跟服务器打交道之外最多的就是跟数据库打交道了 , 如何在数据库层面提效也是一个长久的话题 , 这也是为什么数据库能得到发展的原因 , 从关系型数据库到 NoSQL 数据库 , 从 MySQL 到 ClickHouse , 数据库行业也在长久的发展 。
来源:公众号——JAVA极客技术
推荐阅读
- 公鸡|科学家培育出“无毛鸡”:产蛋能力提升20%、长肉速度飞快
- |视频号知识专栏直播:职场进阶 认识提升
- 描写工作能力提升的诗句?表扬一个人的工作能力的诗句
- 葱爆大虾
- 提升询单转化率的方法包括以下列举的几种?如何提升询单转化率
- 8个常用的招聘网站对比推荐! 常用的招聘网站有哪些
- 值得收藏的18个生活窍门 厕纸芯有妙用
- 吃燕麦的8个好处 清肠排毒减肥首选
- 8个月宝宝如何安排一日三餐 八个月宝宝吃什么
- 简单的魔方教程,8个动作8个公式 玩魔方的技巧方法