数据库
文章平均质量分 51
忆水思寒
写博客,增定力,留记忆
展开
-
MySQL常见的几种优化方案
注:原始资料来自享学课堂,自己加上整理和思考 目录 思考sql优化的几个地方,我把他做了个分类,方便理解 key_len计算方式简单介绍 一、优化点1:字段优化 覆盖索引尽量用 二、优化点2:where优化 1.尽量全值匹配 2.最佳左前缀法则 3.范围条件放最后 4.不在索引列上做任何操作 5.不等于要甚用 6.Null/Not null有影响 7...转载 2021-09-01 18:38:27 · 439 阅读 · 0 评论 -
group by以后如何count?
原文:https://www.cnblogs.com/jimleestone/p/sql_001.html当表数据量很庞大, 需要使用sql的limit功能来分页时, 需要发送两条sql才能实现分页SELECT * FROM tablename WHERE conditions LIMIT pagestart, pagesize以及SELECT COUNT(*) FROM tablename WHERE conditions其中第二条是在UI上显示总结果数量以及进行分页的操作;但是,转载 2021-08-31 09:37:50 · 2775 阅读 · 0 评论 -
mysql不等于走不走索引_MySQL不走索引的情况(面试必备)
1.in(2个及以上参数) ,单列索引a,where a in (xxxx) ,如果参数是1个会用到索引,如果参数是2个及以上不会用到索引。或者in里是连续的参数,比如where fee in (1,2)、where fee in (1,2,3),fee是int类型并且有单列索引,依然不会使用索引.(包括int和varchar类型的字段)2.like ‘%abc’ 或者 like‘%abc%’3.条件中带有表达式,比如where num/2=100 或者 substring(a,1,3)='ab’转载 2021-08-31 09:34:07 · 3251 阅读 · 0 评论 -
MySQL ORDER BY IF() 及多条件排序
碰到一个SQL的排序问题,他把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部 通过的方法就是IN语句(也可以通过IF语句) 自己做了个测试,如下,这个是表的所有内容 使用ORDER BY配合IF语句 比如我想将species为snake的行数,单独列出来,我可以这样查询 SELECT * FROM pet ORDER BY if (sp...转载 2021-08-16 15:33:57 · 2280 阅读 · 0 评论 -
mysql group by 组内排序方法
mysql的group by语法可以根据指定的规则对数据进行分组,分组就是将一个数据集划分成若干个小区域,然后再针对若干个小区域进行数据处理。本文将介绍mysql使用group by分组时,实现组内排序的方法。 mysql的group by语法可以对数据进行分组,但是分组后的数据并不能进行组内排序。 例如一个评论表有多个用户评论,需要获取每个用户最后评论的内容。 创建测试数据表及数据 CREATE TABLE `comment` ( `id` int...转载 2021-08-05 18:35:19 · 752 阅读 · 0 评论 -
mysql group by 组内排序方法
mysql的group by语法可以根据指定的规则对数据进行分组,分组就是将一个数据集划分成若干个小区域,然后再针对若干个小区域进行数据处理。本文将介绍mysql使用group by分组时,实现组内排序的方法。mysql的group by语法可以对数据进行分组,但是分组后的数据并不能进行组内排序。例如一个评论表有多个用户评论,需要获取每个用户最后评论的内容。创建测试数据表及数据CREATE TABLE `comment` ( `id` int(10) unsigned NOT NULL AUTO转载 2021-08-05 18:33:51 · 10977 阅读 · 4 评论 -
navicat基本快捷键
1、navicat premium工具① Ctrl + q 快速打开查询界面② Ctrl + d 快苏修改表结构③ Ctrl + r 运行当前查询界面里的sql语句④ 查看创建表的sql语句右键表---> 对象信息 ---> 在下面的选项卡中选择DDL ————————————————版权声明:本文为CSDN博主「Jingle Lan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/j转载 2021-07-02 16:28:04 · 465 阅读 · 0 评论 -
最全的权限系统设计
目录 1 为什么需要权限管理 2 权限模型 2.1 权限设计 2.2 为什么需要角色 2.3 权限模型的演进 2.3.1 RBAC模型 2.3.2 角色继承的RBAC模型 2.3.3 带约束的RBAC模型 2.4 用户划分 2.4.1 用户组 2.4.2 组织 2.4.3 职位 2.5 理想的RBAC模型 3 权限系统表设计 3.1 标准RBAC模型表设计 3.2 ...转载 2021-07-02 15:28:13 · 2152 阅读 · 0 评论 -
【Mysql-字符集】软件开发没看上去那么简单,从utf8mb4_0900_ai_ci说起
2019年,德国 前段时间,遇到朋友的求助,说以前运行的好好的系统现在出问题了,而且看不懂报错到底是什么意思。 我仔细看看报错信息,应该是MySQL数据库报出来的,大意是说:collation不兼容,一个是 utf8mb4_0900_ai_ci,另一个是utf8mb4_general_ci。 utf8mb4_general_ci这玩意儿我见过,是针对utf8mb4编码的collat...转载 2021-06-30 09:51:00 · 2161 阅读 · 1 评论 -
MySQL几种编码格式的区别(utf8、utf8mb4、utf8mb4_general_ci、utf8mb4_unicode_ci 、utf8mb4_0900_ai_ci)
存储字符集 utf8 和 utf8mb4 utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8 字符,也就是 Unicode 中的基本多文本平面。 要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持。我觉得,为了获取更好的兼容性,应该总是使用 utf8mb4 而非 utf8. 对于 CHAR ...转载 2021-06-30 09:48:43 · 4632 阅读 · 0 评论 -
mysql left join 右表数据不唯一的情况解决方法
转自http://blog.csdn.net/fdipzone/article/details/45119551 1.left join 基本用法 mysql left join 语句格式 A LEFT JOIN B ON 条件表达式 left join 是以A表为基础,A表即左表,B表即右表。 左表(A)的记...转载 2021-06-06 12:15:45 · 854 阅读 · 0 评论 -
SQL Server中char、varchar、nvarchar的区别
CHARchar是定长的,比如设置数据类型为char(10),输入’ABC’,后面会有7个空字符,当读取数据时,就要用到trim()。而当字符数超出规定的数据类型长度,则截取超出的字符。- VARCHARvarchar长度为n个字节的可变长度,n必须是介于1-8000之间的数值。varchar存储大小为输入字符的实际长度。规定的数据类型长度为最大值,字符长度也可以为零。- CHAR与VARCHAR如果一个字段的值是固定不变的,例如:性别。这样的字段,使用CHAR效率更高,由于是定长的,所以检索速.转载 2020-06-18 17:31:39 · 315 阅读 · 0 评论