MySQL优化配置之query_cache_size_猪哥66的博客-CSDN博客_query_cache_size


本站和网页 https://blog.csdn.net/u014044812/article/details/78924315 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

MySQL优化配置之query_cache_size_猪哥66的博客-CSDN博客_query_cache_size
MySQL优化配置之query_cache_size
猪哥66
于 2017-12-28 17:27:41 发布
44911
收藏
21
分类专栏:
MySQL
文章标签:
mysql query_cache_si
mysql优化query_cache_s
sql query_cache_size
query_cache_size
query_cache_size优化SQ
猪哥原创,禁止转载,违者必纠!
本文链接:https://blog.csdn.net/u014044812/article/details/78924315
版权
MySQL
专栏收录该内容
16 篇文章
17 订阅
订阅专栏
原理 MySQL查询缓存保存查询返回的完整结果。当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段。  查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失效。  但是随着服务器功能的强大,查询缓存也可能成为整个服务器的资源竞争单点。  初步设置 默认这个开关是关闭的,就是禁止使用query_cache,查询是否使用语句如下:  mysql> SHOW VARIABLES LIKE 'have_query_cache';
Variable_name | Value |
+------------------+-------+
| have_query_cache | YES | 注意这个只是显示,支持query_cache功能而已,默认是关闭的,通过这个语句查询设置情况:  mysql> SHOW STATUS LIKE 'Qcache%'; 如发现结果中query_cache_size =0,则没设置,设置的方法为在 my.ini中,设置  query_cache_size=128M  query_cache_type=1  MYSQL如何分配query_cache_size MySQL用于查询的缓存的内存被分成一个个变长数据块,用来存储类型,大小,数据等信息。  当服务器启动的时候,会初始化缓存需要的内存,是一个完整的空闲块。当查询结果需要缓存的时候,先从空闲块中申请一个数据块大于参数query_cache_min_res_unit的配置,即使缓存数据很小,申请数据块也是这个,因为查询开始返回结果的时候就分配空间,此时无法预知结果多大。  分配内存块需要先锁住空间块,所以操作很慢,MySQL会尽量避免这个操作,选择尽可能小的内存块,如果不够,继续申请,如果存储完时有空余则释放多余的。  如何判断是否命中 缓存存放在一个引用表中,通过一个哈希值引用,这个哈希值包括查询本身,数据库,客户端协议的版本等,任何字符上的不同,例如空格,注释都会导致缓存不命中。  当查询中有一些不确定的数据时,是不会缓存的,比方说now(),current_date(),自定义函数,存储函数,用户变量,字查询等。所以这样的查询也就不会命中缓存,但是还会去检测缓存的,因为查询缓存在解析SQL之前,所以MySQL并不知道查询中是否包含该类函数,只是不缓存,自然不会命中。  具体归纳如下: BENCHMARK()
CONNECTION_ID()
CURDATE()
CURRENT_DATE()
CURRENT_TIME()
CURRENT_TIMESTAMP()
CURTIME()
DATABASE()
带一个参数的ENCRYPT()
FOUND_ROWS()
GET_LOCK()
LAST_INSERT_ID()
LOAD_FILE()
MASTER_POS_WAIT()
NOW()
RAND()
RELEASE_LOCK()
SYSDATE()
不带参数的UNIX_TIMESTAMP()
USER()
· 引用自定义函数(UDFs)。
· 引用自定义变量。
· 引用mysql系统数据库中的表。
· 下面方式中的任何一种:
SELECT ...IN SHARE MODE
SELECT ...FOR UPDATE
SELECT ...INTO OUTFILE ...
SELECT ...INTO DUMPFILE ...
SELECT * FROM ...WHERE autoincrement_col IS NULL
· 被作为编写好的语句,即使没有使用占位符。例如,下面使用的查询:
char *my_sql_stmt = "SELECT a,b FROM table_c";
/* ...*/
mysql_stmt_prepare(stmt,my_sql_stmt,strlen(my_sql_stmt));
不被缓存。
· 使用TEMPORARY表。
· 不使用任何表。
· 用户有某个表的列级别权限。打开Qcache对读和写都会带来额外的消耗:  a、读查询开始之前必须检查是否命中缓存。  b、如果读查询可以缓存,那么执行完之后会写入缓存。  c、当向某个表写入数据的时候,必须将这个表所有的缓存设置为失效,如果缓存空间很大,则消耗也会很大,可能使系统僵死一段时间,因为这个操作是靠全局锁操作来保护的。  对InnoDB表,当修改一个表时,设置了缓存失效,但是多版本特性会暂时将这修改对其他事务屏蔽,在这个事务提交之前,所有查询都无法使用缓存,直到这个事务被提交,所以长时间的事务,会大大降低查询缓存的命中    一个表可以被许多类型的语句更改,例如INSERT、UPDATE、DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE。  对于InnoDB而言,事物的一些特性还会限制查询缓存的使用。当在事物A中修改了B表时,因为在事物提交之前,对B表的修改对其他的事物而言是不可见的。为了保证缓存结果的正确性,InnoDB采取的措施让所有涉及到该B表的查询在事物A提交之前是不可缓存的。如果A事物长时间运行,会严重影响查询缓存的命中率  查询缓存的空间不要设置的太大。  因为查询缓存是靠一个全局锁操作保护的,如果查询缓存配置的内存比较大且里面存放了大量的查询结果,当查询缓存失效的时候,会长时间的持有这个全局锁。因为查询缓存的命中检测操作以及缓存失效检测也都依赖这个全局锁,所以可能会导致系统僵死的情况  具体参数含义: 一、通过命令:show status like ‘%Qcache%’;查看查询缓存使用状态值: show status like ‘%Qcache%’;
Variable_name | Value |
+————————-+———–+
| Qcache_free_blocks | 1 |
| Qcache_free_memory | 134208800 |
| Qcache_hits | 0 |
| Qcache_inserts | 0 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 2 |
| Qcache_queries_in_cache | 0 |
| Qcache_total_blocks | 1 | 解析:
Qcache_free_blocks:表示查询缓存中目前还有多少剩余的blocks,如果该值显示较大,则说明查询缓存中的内存碎片过多了,可能在一定的时间进行整理。
减少碎片:
合适的query_cache_min_res_unit可以减少碎片,这个参数最合适的大小和应用程序查询结果的平均大小直接相关,可以通过内存实际消耗(query_cache_size - Qcache_free_memory)除以Qcache_queries_in_cache计算平均缓存大小。
可以通过Qcache_free_blocks来观察碎片,这个值反应了剩余的空闲块,如果这个值很多,但是
Qcache_lowmem_prunes却不断增加,则说明碎片太多了。可以使用flush query cache整理碎片,重新排序,但不会清空,清空命令是reset query cache。整理碎片期间,查询缓存无法被访问,可能导致服务器僵死一段时间,所以查询缓存不宜太大。
Qcache_free_memory:查询缓存的内存大小,通过这个参数可以很清晰的知道当前系统的查询内存是否够用,是多了,还是不够用,DBA可以根据实际情况做出调整。
Qcache_hits:表示有多少次命中缓存。我们主要可以通过该值来验证我们的查询缓存的效果。数字越大,缓存效果越理想。
Qcache_inserts: 表示多少次未命中然后插入,意思是新来的SQL请求在缓存中未找到,不得不执行查询处理,执行查询处理后把结果insert到查询缓存中。这样的情况的次 数,次数越多,表示查询缓存应用到的比较少,效果也就不理想。当然系统刚启动后,查询缓存是空的, 这很正常。
Qcache_lowmem_prunes:该参数记录有多少条查询因为内存不足而被移除出查询缓存。通过这个值,用户可以适当的调整缓存大小。
Qcache_not_cached: 表示因为query_cache_type的设置而没有被缓存的查询数量。
Qcache_queries_in_cache:当前缓存中缓存的查询数量。
Qcache_total_blocks:当前缓存的block数量。提高查询缓存的使用率:  如果碎片不是问题,命中率却非常低,可能是内存不足,可以通过 Qcache_free_memory 参数来查看没有使用的内存。  如果2者都没有问题,命中率依然很低,那么说明缓存不适合你的当前系统。可以通过设置  query_cache_size = 0或者query_cache_type 来关闭查询缓存。 二、通过命令:show status like '%query_cache%';查看查询缓存相关设置: query_cache_limit:允许 Cache 的单条 Query 结果集的最大容量,默认是1MB,超过此参数设置的 Query 结果集将不会被 Cache
query_cache_min_res_unit:设置 Query Cache 中每次分配内存的最小空间大小,也就是每个 Query 的 Cache 最小占用的内存空间大小
query_cache_size:设置 Query Cache 所使用的内存大小,默认值为0,大小必须是1024的整数倍,如果不是整数倍,MySQL 会自动调整降低最小量以达到1024的倍数
query_cache_type:控制 Query Cache 功能的开关,可以设置为0(OFF),1(ON)和2(DEMAND)三种,意义分别如下:
0(OFF):关闭 Query Cache 功能,任何情况下都不会使用 Query Cache
1(ON):开启 Query Cache 功能,但是当 SELECT 语句中使用的 SQL_NO_CACHE 提示后,将不使用Query Cache
2(DEMAND):开启 Query Cache 功能,但是只有当 SELECT 语句中使用了 SQL_CACHE 提示后,才使用 Query Cache
query_cache_wlock_invalidate:控制当有写锁定发生在表上的时刻是否先失效该表相关的 Query Cache,如果设置为 1(TRUE),则在写锁定的同时将失效该表相关的所有 Query Cache,如果设置为0(FALSE)则在锁定时刻仍然允许读取该表相关的 Query Cache。 相关问答 Query Cache 如何处理子查询的?  这是我遇到的最为常见的一个问题。其实 Query Cache 是以客户端请求提交的 Query 为对象来处理的,只要客户端请求的是一个 Query,无论这个 Query 是一个简单的单表查询还是多表 Join,亦或者是带有子查询的复杂 SQL,都被当作成一个 Query,不会被分拆成多个 Query 来进行 Cache。所以,存在子查询的复杂 Query 也只会产生一个Cache对象,子查询不会产生单独的Cache内容。UNION[ALL] 类型的语句也同样如此。  Query Cache 是以 block 的方式存储的数据块吗?  不是,Query Cache 中缓存的内容仅仅只包含该 Query 所需要的结果数据,是结果集。当然,并不仅仅只是结果数据,还包含与该结果相关的其他信息,比如产生该 Cache 的客户端连接的字符集,数据的字符集,客户端连接的 Default Database等。  Query Cache 为什么效率会非常高,即使所有数据都可以 Cache 进内存的情况下,有些时候也不如使用 Query Cache 的效率高?  Query Cache 的查找,是在 MySQL 接受到客户端请求后在对 Query 进行权限验证之后,SQL 解析之前。也就是说,当 MySQL 接受到客户端的SQL后,仅仅只需要对其进行相应的权限验证后就会通过 Query Cache 来查找结果,甚至都不需要经过 Optimizer 模块进行执行计划的分析优化,更不许要发生任何存储引擎的交互,减少了大量的磁盘 IO 和 CPU 运算,所以效率非常高。  客户端提交的 SQL 语句大小写对 Query Cache 有影响吗?  有,由于 Query Cache 在内存中是以 HASH 结构来进行映射,HASH 算法基础就是组成 SQL 语句的字符,所以必须要整个 SQL 语句在字符级别完全一致,才能在 Query Cache 中命中,即使多一个空格也不行。  一个 SQL 语句在 Query Cache 中的内容,在什么情况下会失效?  为了保证 Query Cache 中的内容与是实际数据绝对一致,当表中的数据有任何变化,包括新增,修改,删除等,都会使所有引用到该表的 SQL 的 Query Cache 失效。  为什么我的系统在开启了 Query Cache 之后整体性能反而下降了?  当开启了 Query Cache 之后,尤其是当我们的 query_cache_type 参数设置为 1 以后,MySQL 会对每个 SELECT 语句都进行 Query Cache 查找,查找操作虽然比较简单,但仍然也是要消耗一些 CPU 运算资源的。而由于 Query Cache 的失效机制的特性,可能由于表上的数据变化比较频繁,大量的 Query Cache 频繁的被失效,所以 Query Cache 的命中率就可能比较低下。所以有些场景下,Query Cache 不仅不能提高效率,反而可能造成负面影响。  如何确认一个系统的 Query Cache 的运行是否健康,命中率如何,设置量是否足够?  MySQL 提供了一系列的 Global Status 来记录 Query Cache 的当前状态,具体如下:  Qcache_free_blocks:目前还处于空闲状态的 Query Cache 中内存 Block 数目  Qcache_free_memory:目前还处于空闲状态的 Query Cache 内存总量  Qcache_hits:Query Cache 命中次数  Qcache_inserts:向 Query Cache 中插入新的 Query Cache 的次数,也就是没有命中的次数  Qcache_lowmem_prunes:当 Query Cache 内存容量不够,需要从中删除老的 Query Cache 以给新的 Cache 对象使用的次数  Qcache_not_cached:没有被 Cache 的 SQL 数,包括无法被 Cache 的 SQL 以及由于 query_cache_type 设置的不会被 Cache 的 SQL  Qcache_queries_in_cache:目前在 Query Cache 中的 SQL 数量  Qcache_total_blocks:Query Cache 中总的 Block 数量  可以根据这几个状态计算出 Cache 命中率,计算出 Query Cache 大小设置是否足够,总的来说,我个人不建议将 Query Cache 的大小设置超过256MB,这也是业界比较常用的做法。  MySQL Cluster 是否可以使用 Query Cache?  其实在我们的生产环境中也没有使用 MySQL Cluster,所以我也没有在 MySQL Cluster 环境中使用 Query Cache 的实际经验,只是 MySQL 文档中说明确实可以在 MySQL Cluster 中使用 Query Cache。从 MySQL Cluster 的原理来分析,也觉得应该可以使用,毕竟 SQL 节点和数据节点比较独立,各司其职,只是 Cache 的失效机制会要稍微复杂一点。 总结 query_cache_size配置在mysql优化中是很重要的一项,需通过大量的实践去确定是否适合开启此项且配置最佳的值。
猪哥66
关注
关注
11
点赞
21
收藏
打赏
评论
MySQL优化配置之query_cache_size
原理MySQL查询缓存保存查询返回的完整结果。当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段。 查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失效。 但是随着服务器功能的强大,查询缓存也可能成为整个服务器的资源竞争单点。 初步设置默认这个开关是关闭的,就是禁止使用query_cache,查询是否使用语句如下: mysql>
复制链接
扫一扫
专栏目录
MySQL8.0 配置文件优化参数说明
一个标题
09-08
537
mysql在linux上默认安装后配置文件/etc/my.cnf,可以根据下列参数对mysql进行适当的优化。
MySQL高速缓存启动方法及参数详解(query_cache_size)
01-19
MySQL query cache从4.1版本开始提供了,不过值今天本人才对其进行研究。默认配置下,MySQL的该功能是没有启动的,可能你通过show variables like ‘%query_cache%’;会发现其变量have_query_cache的值是yes,MYSQL初学者很容易以为这个参数为YES就代表开启了查询缓存,实际上是不对的,该参数表示当前版本的MYSQL是否支持Query Cache,实际上是否开启查询缓存是看另外一个参数的值:query_cache_size ,该值为0,表示禁用query cache,而默认配置正是配置为0。
配置方法:
在MYSQL的配置文件my
参与评论
您还未登录,请先
登录
后发表或查看评论
升级Mysql8遇到Unknown system variable ‘query_cache_size‘问题
最新发布
Gogo_leee的博客
11-02
71
公司准备把mysql从7升级到8版本,然后在测试过程中发现报了这个问题Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown system variable 'query_cache_size')解决这个问题很简单,升级一下mysql-connector-java到8就可以。
mysql query cache 大小_MySQL5.7 中的query_cache_size
weixin_33469623的博客
01-19
618
mysql> show variables like '%query_cache_size%';+------------------+---------+| Variable_name | Value |+------------------+---------+| query_cache_size | 1048576 |+------------------+--------...
完美解决MySQL报错Unknown system variable ‘query_cache_size‘
程序羊的博客
03-31
5640
出现这个问题是因为你的MySQL Connector的jar包和数据库版本不匹配造成的。 解决方法分两步:
mysql query_cache_size_小心对待query_cache_size
weixin_39984442的博客
02-07
396
作者:吴炳锡 来源:http://www.mysqlsupport.cn/联系方式:wubingxi#gmail.com转载请注明作/译者和出处,并且不能用于商业用途,违者必究.对于使用MySQL的用户,对于这个变量大家一定不会陌生。前几年的MyISAM引擎优化中,这个参数也是一个重要的优化参数。但随着发展,这个参数也爆露出来一些问题。机器的内存越来越大,人们也都习惯性的把以前有用的参数分配的值越...
MYSQL 中query_cache_size小结
jackyrongvip的专栏
01-07
782
1 原理
MySQL查询缓存保存查询返回的完整结果。当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段。
查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓存都将失效。
但是随着服务器功能的强大,查询缓存也可能成为整个服务器的资源竞争单点。
2 初步设置
默认这个开关是关闭的,就是禁止使用query_cache,查询是否使用语句...
Unknown system variable ‘query_cache_size‘ 的解决方法
热门推荐
辣子鸡o的博客
07-09
1万+
导入一个spring boot项目,在启动的时候报了Unknown system variable 'query_cache_size'的错误。出现这种错误,是因为数据库驱动程序与数据库版本不对应。记录一下我的解决方案
方案一:
通过更换mysql驱动来解决。下载与你安装的数据库本版一样的mysql驱动并替换原驱动。
将这个项目原MySQL驱动替换成你自己版本的驱动,重启即可;
方案二:(亲测)
如 mybatis使用 mysql-5.1.10的驱动程序,而mybatis配置的数据源连接的是
MySQL高速缓存---query_cache_size
sssnowyue的博客
08-13
2468
设置方法:MySQL的配置文件my.ini或my.cnf中:
query_cache_size : 设置为具体的大小(最好设置为1024的倍数,参考值32M)
增加一行:query_cache_type=1
query_cache_type:
设置为0,OFF,缓存禁用
设置为1,ON,缓存所有的结果
设置为2,DENAND,只缓存在select语句中通过SQL_CACHE
mysql query_cache_size_关于mysql优化---query_cache_size&&key_buffer_size&&table_cache - ...
weixin_35698659的博客
02-07
135
同时在线访问量继续增大对于1G内存的服务器明显感觉到吃力,严重时,甚至每天都会死机或者时不时的服务器卡一下。这个问题曾经困扰了我半个多月,MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的备存以得到更好的性能。N2w中国教程在线安装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf ...
JDBC/MYSQL问题 : Unknown system variable 'query_cache_size'
★【World Of Moshow 郑锴】★
09-08
3179
背景
今天运行一个开源项目,竟然遇到Caused by: java.sql.SQLException: Unknown system variable 'query_cache_size'的问题。真是神奇,query_cache_size是什么,如何解决?
>>>先看详细报错信息:
#by zhengkai.blog.csdn.net
2019-09-08 22:20:09.82...
输入n个数,用冒泡法进行排序
qq_41269379的博客
07-14
6950
冒泡排序的原理就不在这里多说了。
主要展示一下代码,也方便以后回顾。
程序如下:
package com.fsh.question;
import java.util.Scanner;
public class Bubblesort{
public static void main(String[] args) {
Scanner read = new Scanner(...
错误 Unknown system variable ‘query_cache_size‘
qq_53282665的博客
02-09
854
用MBG生成器的时候报了个Unknown system variable 'query_cache_size'
找了一下原来是是数据库驱动程序 与 数据库版本不对应。
数据库驱动依赖改为8.0以上的驱动版本就好了
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql<
解决:设置mysql的query_cache_size值无效
weixin_33895604的博客
05-06
750
在mysql中开启query_cache,有时可以提高查询效率。默认情况下query_cache是关闭的。我在测试mysql的查询缓存时遇到了这么一个问题:mysql> show global variables like 'query_cache%';+------------------------------+---------+| Variable_name...
mysql query cache 大小_关于RDS MySQL查询缓存(Query Cache)的设置和使用方法
weixin_39581972的博客
01-27
241
关于RDS MySQL查询缓存(Query Cache)的设置和使用方法1.查询缓存原理一般来说,RDS MySQL 对来自客户端的查询(Select)进行 Hash 计算得到该查询的Hash值,然后再通过该Hash 值到查询缓存中匹配该查询的结果。如果没有匹配(命中),就将 Hash 值和结果集保存在查询缓存中,以便以后使用。如果匹配(命中),就将查询的结果集直接返回给客户端,不必再解析、执行查...
mysql数据库缓存参数优化
weixin_45937536的博客
01-18
310
文章目录内容query_cache_size/query_cache_type (global)binlog_cache_size (global)key_buffer_size (global)bulk_insert_buffer_size (thread)innodb_buffer_pool_size(global)innodb_additional_mem_pool_size(global)innodb_log_buffer_size (global)innodb_max_dirty_pages_pc
mysql 缓存(转)
weixin_34319111的博客
01-07
207
MySQL query cache从4.1版本开始提供了,不过值今天本人才对其进行研究。默认配置下,MySQL的该功能是没有启动的,可能你通过show variables like '%query_cache%';会发现其变量have_query_cache的值是yes,MYSQL初学者很容易以为这个参数为YES就代表开启了查询缓存,实际上是不对的,该参数表示当前版本的MYSQL是否支持Query...
如何解决Dbvisualizer连接Mysql8.0时的Unknown system variable ‘query_cache_size‘错误
sais_sias的专栏
04-21
634
使用Dbvisulaizer连接本地MySQL数据库时,按照以下配置进行数据库连接时报如下错误:Unknown system variable 'query_cache_size'。(MySQL版本:8.0.17,Dbisualizer版本:9.5.8)
出现这个原因主要是因为Dbvisualizer中自带的MySQL的驱动版本较低。所以要去下载MySQL8.0.17对应的JDBC驱动,下载网址如下:https://dev.mysql.com/downloads/connector/j/
将下载的包
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:技术工厂
设计师:CSDN官方博客
返回首页
猪哥66
CSDN认证博客专家
CSDN认证企业博客
码龄9年
Python领域优质创作者
140
原创
2924
周排名
809
总排名
513万+
访问
等级
2万+
积分
5万+
粉丝
8317
获赞
1456
评论
2万+
收藏
私信
关注
热门文章
Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转
297164
Python学习路线(2022修正版)
219480
关于sql和MySQL的语句执行顺序(必看)
211628
IntelliJ IDEA 自定义方法注解模板
110705
beoplay(BO)耳机拒绝配对的解决方法
101173
分类专栏
猪哥Python
12篇
猪哥立志成为大牛的心路历程
5篇
Shell
1篇
RSA算法原理
3篇
猪哥算法
2篇
生活杂文
3篇
程序人生
7篇
工作知识
11篇
tomcat
1篇
Ngnix
Linux
3篇
MySQL
16篇
Jquery
4篇
ckeditor
2篇
MongoDB
1篇
Spring
4篇
Eclipse
2篇
正则表达式
3篇
Swagger
SpringMVC
1篇
Freemarker
3篇
Js
3篇
Java
17篇
算法
9篇
Spring Boot
4篇
MyBatis
1篇
HTTP
4篇
Docker
2篇
Python
18篇
Jetbrains
2篇
工具
爬虫
10篇
最新评论
关于sql和MySQL的语句执行顺序(必看)
weixin_46319575:
执行顺序:1 from 2 on 3 join 4 where 5 group by 6聚合函数 7 having 8select 9 distinct 10 order by 11 limit
关于sql和MySQL的语句执行顺序(必看)
weixin_46319575:
执行顺序: 1 from 2 on 3 join 4 where 5 group by 6 聚合函数(count,sum,max,min,avg) 7 having 8 select 9 distinct 10 order by 11 limit
关于sql和MySQL的语句执行顺序(必看)
weixin_46319575:
一般sql的关键字有select from where group by order by limit join union 聚合函数(count,sum,max,min,avg)
执行顺序:1.from 2.on 3.join 4.where 5.group by 6.聚合函数(count,sum,max,min,avg) 7.having 8.select 9 distinct 10 order by 11 limit
关于sql和MySQL的语句执行顺序(必看)
自学Java小白:
我刚试了,确实可以用别名,这个博主也太离谱了,全是坑,额
RSA算法原理——(3)RSA加解密过程及公式论证
ThumpBo:
小弟才疏学浅,请问一下d=d+kφ(n)=-367+1x3120=2753 这里对应的k值 不应该是y=2 转化过来k=-2吗 ,为什么k的取值为1
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Jackson的@JsonIgnore失效原因探究及解决方案
Java synchronized偏向锁后hashcode存在哪里?
HTTPS原理详解
2022年2篇
2021年6篇
2020年4篇
2019年40篇
2018年11篇
2017年34篇
2016年35篇
2015年10篇
目录
目录
分类专栏
猪哥Python
12篇
猪哥立志成为大牛的心路历程
5篇
Shell
1篇
RSA算法原理
3篇
猪哥算法
2篇
生活杂文
3篇
程序人生
7篇
工作知识
11篇
tomcat
1篇
Ngnix
Linux
3篇
MySQL
16篇
Jquery
4篇
ckeditor
2篇
MongoDB
1篇
Spring
4篇
Eclipse
2篇
正则表达式
3篇
Swagger
SpringMVC
1篇
Freemarker
3篇
Js
3篇
Java
17篇
算法
9篇
Spring Boot
4篇
MyBatis
1篇
HTTP
4篇
Docker
2篇
Python
18篇
Jetbrains
2篇
工具
爬虫
10篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
猪哥66
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值