随笔分类 -  mysql

摘要:MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名。尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名效果。 在这里我用一个简单例子来实现排名的查询: 首先我们先创建一个我们需要进行高级排名查询的pla 阅读全文
posted @ 2020-11-22 13:23 MaxBruce 阅读(699) 评论(0) 推荐(0)
摘要:编写SQL查询以对分数进行排名。 如果两个分数之间存在平局,则两者应具有相同的排名。 请注意,在平局之后,下一个排名数应该是下一个连续的整数值。 换句话说,等级之间不应该存在“漏洞”。 + + + | Id | Score | + + + | 1 | 3.50 | | 2 | 3.65 | | 3 阅读全文
posted @ 2020-11-22 13:19 MaxBruce 阅读(3316) 评论(0) 推荐(0)
摘要:mysql的几种join 2017年03月19日 14:49:07 carl-zhao 阅读数:7845 标签: mysqlsqljoin 更多 个人分类: MySQL 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012410733/artic 阅读全文
posted @ 2020-11-21 23:12 MaxBruce 阅读(615) 评论(0) 推荐(0)
摘要:sum(if(条件,列值,0))语法用例: select name,sum(if(subject="语文",score,0)) as “语文” from grade GROUP BY name if中第一个参数为条件,符合条件的内容才会将第二个参数相加,不符合的内容将第三个参数相加。 第二个参数为要 阅读全文
posted @ 2020-11-19 22:44 MaxBruce 阅读(1435) 评论(0) 推荐(0)
摘要:mysql行列转换 创建数据库、表 create database tests; use tests; create table t_score( id int primary key auto_increment, name varchar(20) not null, #名字 Subject va 阅读全文
posted @ 2020-11-19 22:36 MaxBruce 阅读(459) 评论(0) 推荐(0)
摘要:Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作, 阅读全文
posted @ 2020-11-16 06:35 MaxBruce 阅读(7071) 评论(0) 推荐(0)
摘要:分表: 分表分为水平分表和垂直分表。 水平分表原理: 分表策略通常是用户ID取模,如果不是整数,可以首先将其进行hash获取到整。 水平分表遇到的问题: 1. 跨表直接连接查询无法进行 2. 我们需要统计数据的时候 3. 如果数据持续增长,达到现有分表的瓶颈,需要增加分表,此时会出现数据重新排列的情 阅读全文
posted @ 2020-11-16 06:24 MaxBruce 阅读(249) 评论(0) 推荐(0)
摘要:一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看:mysql分表的3种方法。什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,以及实例。 二,mysql分表和分 阅读全文
posted @ 2020-11-16 06:22 MaxBruce 阅读(233) 评论(0) 推荐(0)
摘要:解除正在死锁的状态有两种方法: 第一种: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程) show processlist 3.杀死进程id(就是上面命令的id列) ki 阅读全文
posted @ 2020-11-11 23:04 MaxBruce 阅读(678) 评论(0) 推荐(1)
摘要:在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索引 ① 普通索引 1234567 create table t_dept( no int not n 阅读全文
posted @ 2020-11-11 13:07 MaxBruce 阅读(114627) 评论(2) 推荐(6)
摘要:如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用的第一部分,则不会使用索引 3.like查询是以%开头 4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来 阅读全文
posted @ 2020-11-11 13:05 MaxBruce 阅读(352) 评论(0) 推荐(0)
摘要:目的:有 user 和 t_order 两张数据表,表 user 的数据全部存放在 db1_zhang 中,表 t_order 的数据按 id 对 2 取模分别存放在 db1_zhang 和 db2_zhang 中。 1. 本地启动 2 个 MySQL 实例,端口分别设置为 3306 和 3307 阅读全文
posted @ 2020-11-10 09:10 MaxBruce 阅读(158) 评论(0) 推荐(0)
摘要:基本概念 把一个表,从逻辑上分成多个区域,便于存储数据。 采用分区的前提,数据量非常大。 如果数据表的记录非常多,比如达到上亿条,数据表的活性就大大降低,数据表的运行速度就比较慢、效率低下,影响mysql数据库的整体性能,就可以采用分区解决 分区是mysql本身就支持的技术 分区算法 list分区 阅读全文
posted @ 2020-10-30 09:20 MaxBruce 阅读(264) 评论(0) 推荐(0)
摘要:说明 大数据量并且访问频繁的表,将其分为若干个表。如果不分的话,进行一次查询就会将表锁住,导致不能进行其他操作,故分表。表分割垂直分割应用场景:热数据放一个表里,冷数据放一个表里。冷数据使用MyIsam 可以有更好的查询数据。活跃数据,可以使用Innodb ,可以有更好的更新速度。对于一些特殊的活跃 阅读全文
posted @ 2020-10-30 09:17 MaxBruce 阅读(278) 评论(0) 推荐(0)
摘要:一、查看MySQL是否支持分区 1、MySQL5.6以及之前版本 2、MySQL5.7 二、分区表的分类与限制 1、分区表分类 2、分区表限制 三、创建分区表 1、range分区 2、list分区 3、hash分区 4、key分区 5、Column分区 6、子分区(组合分区) 四、普通表转换为分区表 阅读全文
posted @ 2020-10-06 23:25 MaxBruce 阅读(412) 评论(0) 推荐(0)
摘要:说明 大数据量并且访问频繁的表,将其分为若干个表。如果不分的话,进行一次查询就会将表锁住,导致不能进行其他操作,故分表。 表分割 垂直分割应用场景:热数据放一个表里,冷数据放一个表里。冷数据使用MyIsam 可以有更好的查询数据。活跃数据,可以使用Innodb ,可以有更好的更新速度。对于一些特殊的 阅读全文
posted @ 2020-10-06 23:24 MaxBruce 阅读(112) 评论(0) 推荐(0)