
mysql
PersonalM
这个作者很懒,什么都没留下…
展开
-
sql
(1)找出连续7天登陆,连续30天登陆的用户(小红书笔试,电信云面试),最大连续登陆天数的问题 --窗口函数(2)求连续点击三次的用户数,中间不能有别人的点击 ,最大连续天数的变形问题(腾讯微保面试)--窗口函数(3)计算除去部门最高工资,和最低工资的平均工资(字节跳动面试)--窗口函数(4)留存的计算,和累计求和的计算 --窗口函数,自联结(pdd面试)(5)AB球队得分流水表,得到连续三次得分的队员名字 和每次赶超对手的球员名字,(pdd面试)把这几类题型吃透,再也不怕手撕SQL和.转载 2020-11-20 14:18:33 · 445 阅读 · 0 评论 -
MySQL 连接出现 Authentication plugin ‘caching_sha2_password‘ cannot be loaded
很多用户在使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loaded的错误。出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_pas转载 2020-09-27 15:11:08 · 306 阅读 · 0 评论 -
深入理解事务与锁机制
MySQL 锁分类前文提到了锁,下面将详细讲解 MySQL 的锁,我们先来看看锁的分类,在 MySQL 中有三种级别的锁:页级锁、表级锁、行级锁。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 会发生在:MyISAM、memory、InnoDB、BDB 等存储引擎中。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度最高。会发生在:InnoDB 存储引擎。页级锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行原创 2020-09-22 10:22:26 · 271 阅读 · 0 评论 -
10道有深度的mysql查询语句面试题
问题查询student表中重名的学生,结果包含id和name,按name,id升序select id,namefrom studentwhere name in (select name from student group by name having(count(*) > 1)) order by name;我们经常需要查询某一列重复的行,一般通过group by(有重复的列)然后取count>1的值。 关系型数据库有他的局限性, 有些看似简单的查询写出来的sql很复杂,而且效转载 2020-09-18 13:55:35 · 664 阅读 · 0 评论 -
数据库优化
规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因此MyISAM虽然在一般情况下,查询性能比In...转载 2020-03-24 15:55:48 · 172 阅读 · 0 评论 -
Mysql数据库千万级数据处理优化
1. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id ...转载 2019-08-07 14:39:15 · 274 阅读 · 0 评论 -
mysql
1 MySQL的体系结构概述整个MySQL Server由以下组成 :Connection Pool :连接池组件Management Services & Utilities :管理服务和工具组件SQL Interface :SQL接口组件Parser :查询分析器组件Optimizer :优化器组件Caches & Buffers :缓冲池组件Pluggab...转载 2019-08-08 11:17:23 · 261 阅读 · 0 评论 -
mysql之覆盖索引
概念如果索引包含所有满足查询需要的数据的索引成为覆盖索引(Covering Index),也就是平时所说的不需要回表操作判断标准使用explain,可以通过输出的extra列来判断,对于一个索引覆盖查询,显示为using index,MySQL查询优化器在执行查询前会决定是否有索引覆盖查询 注意1、覆盖索引也并不适用于任意的索引类型,索引必须存储列的值2、Hash 和full-text索引不存储值...原创 2018-06-23 12:09:39 · 320 阅读 · 0 评论