![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySql
David Hongyu
专注于Java/C#/C++的技术分享
展开
-
为什么大家都说SELECT * 效率低?
前言无论在工作还是面试中,关于SQL中不要用“SELECT *”,都是大家听烂了的问题,虽说听烂了,但普遍理解还是在很浅的层面,并没有多少人去追根究底,探究其原理。废话不多说,本文带你深入了解一下"SELECT * "效率低的原因及场景。一、效率低的原因先看一下最新《阿里java开发手册(泰山版)》中 MySQL 部分描述:4 - 1. 【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。说明: 增加查询分析器解析成本。 增减字段容易与 r转载 2020-07-16 20:57:15 · 118 阅读 · 1 评论 -
谈谈SqlSurgar:深入探析内在机制
前言sqlsurgar自称是最简单,最高效的ORM框架。其他的暂且不考究,只有几百KB的大小可以说是非常轻量级的,昨日看了一下官方文档,使用确实方便。EF core作为官方的orm框架,据说在高并发查询下性能差强人意。尤其在一些小的项目上,引入EF core显得十分臃肿。这时采用SQLSugar应该是不错的选择,更接近原生,执行效率更高,轻量便捷。本文不对SqlSugar的使用进行叙述,而是对其内在机制进行分析。本文转载自:微信公众号,不做码农的开发者原标题:C# 数据操作系列 - 14 深入探转载 2020-06-11 09:53:04 · 1448 阅读 · 0 评论 -
简单说几个MySQL高频面试题
前言:在各类技术岗位面试中,似乎 MySQL 相关问题经常被问到。无论你面试开发岗位或运维岗位,总会问几道数据库问题。经常有小伙伴私信我,询问如何应对 MySQL 面试题。其实很多面试题都是大同小异的,提前做准备还是很有必要的。本篇文章简单说下几个常见的面试题,一起来学习下吧。1.什么是关系型数据库?谈谈你对 MySQL 的认识。这是一道基础题,考察面试者对数据库的了解程度,一般可以简单讲下自己的认知,有条理即可。比如:关系型数据库是指采用了关系模型来组织数据的数据库,其以行和列的形..转载 2021-01-22 11:16:11 · 129 阅读 · 1 评论 -
MySQL架构图/索引系统/B+树原理
原创 2021-01-21 20:31:34 · 84 阅读 · 0 评论 -
MySQL 34道训练题以及答案
前言:学完了b站的《MySQL基础入门-mysql教程-数据库实战(MySQL基础+MySQL高级+MySQL优化》的课程,自己手写并整理了一份34题的答案,原视频没有提供,包含思路,供各位参考。一、题目数据库脚本DROP TABLE IF EXISTS EMP;DROP TABLE IF EXISTS DEPT;DROP TABLE IF EXISTS SALGRADE;CREATE TABLE DEPT (DEPTNO int(2) not null , DNAME V原创 2021-01-16 17:28:13 · 623 阅读 · 1 评论 -
面试官问,谈谈你对MySQL索引的理解?
(1)索引的感性理解:MySQL中的索引之于表就像书本的目录一样,可以极大的提高搜索的速度。(2)索引通常使用在数据量比较大的业务场景。(3)设置为索引的字段不应该或者几何不会进行DML操作,如主键索引。(4)索引的本质就是缩小了数据扫描的范围,对数据进行查询操作的时候,数据库会先判断该字段是否是索引,如果是索引,则通过索引找到该条数据的物理地址,再通过物理地址取出该数据内容,底层的原理是B+ 树。通过B Tree缩小扫描范围,底层索引进行了排序,分区,索引会携带数据在表中的“物理地址”,最终通原创 2021-01-10 20:34:28 · 244 阅读 · 0 评论 -
MySQL 基础笔记03
MySQL day031、约束1.1、唯一性约束(unique) * 唯一约束修饰的字段具有唯一性,不能重复。但可以为NULL。 * 案例:给某一列添加unique drop table if exists t_user; create table t_user( id int, username varchar(255) unique // 列级约束 ); i...原创 2021-01-10 20:00:38 · 89 阅读 · 0 评论 -
一个例子看Mysql select与from后嵌套 子查询的区别
有两张表,员工表如下:部门表:薪资等级表:需求:找出每个部门的平均的薪资等级,要求显示部门名称,部门编号,还有平均等级。先看在from 后面嵌套子查询:select d.deptno ,d.dname, b.avggradefrom dept d left join (select e.deptno ,avg(s.grade) as avggrade from emp e join salgrade s on e.sal between s.losal and s.h原创 2020-12-24 15:34:35 · 1387 阅读 · 0 评论 -
MySql基础知识(2)
MySQL day021、关于查询结果集的去重?mysql> select distinct job from emp; // distinct关键字去除重复记录。+-----------+| job |+-----------+| CLERK || SALESMAN || MANAGER || ANALYST || PRESIDENT |+-----------+ mysql> select ename,distinct job ...原创 2020-12-23 21:48:39 · 138 阅读 · 0 评论