![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
MySQL数据库
weixin_45593546
PHP后端 + Web前端
展开
-
执行SQL语句的优先级顺序
FROM 执行顺序为从后往前、从右到左。数据量较大的表尽量放在后面。 WHERE 执行顺序为自下而上、从右到左。将能过滤掉最大数量记录的条件写在WHERE字句的最右。 GROUP BY 执行顺序从右往左分组,最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉。 HAVING 消耗资源。尽量避免使用,HAVING会在检索出所有记录之后才对结果进行过滤,需要排序等操作。 ORDER BY 执行顺序从左到右,消耗资源。 SELECT 少用星号,尽量使用字段名称,oracle在解析的过原创 2022-04-07 21:50:37 · 9291 阅读 · 3 评论 -
在 SQL 中处理NULL值的学习笔记
在查询数据库时,如果想知道一个列是否为 NULL,SQL 查询语句该怎么写呢? 一般是 SELECT * FROM TABLE WHERE USER_AGE = NULL 但是正确的做法应该是 SELECT * FROM TABLE WHERE USER_AGE IS NULL 例如,如果我们想要知道一个列的值是否等于 1,WHERE 语句是这样的: WHERE USER_AGE = 1 那为什么 NULL 值要用 IS 关键字呢? 因为在 SQL 中 NULL 表示“未知”,也就是说,NULL 值表原创 2021-06-23 19:04:16 · 113 阅读 · 0 评论 -
MySQL 优化之count(1) 与 count(*) 比较
前言 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和count()的效果是一样的。但是在表做过分析之后,count(1)会比count()的用时少些(1w以内数据量),不过差不了多少。 如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。 因为count(),自动会优化指定到那一个字段。所以没必要去count(1),用count(),sql会帮你完成优化的 因此:count(1)和count(*)基转载 2021-06-06 13:19:24 · 159 阅读 · 0 评论 -
如果 MySQL 的自增 ID 用完了,会发生什么呢?
最近在处理数据库的数据时,发现有一张数据表的数据量已经达到了百万级,由此产生了一个疑问: 如果 MySQL 的自增 ID 用完了,会发生什么呢? 通过收集资料,总结如下: 首先,创建一个表,只包含一个自增 id,并插入一条数据。 create table t0(id int unsigned auto_increment primary key) ; insert into t0 values(null); 查看表情况 show create table t0; CREATE TABLE t0 ( id原创 2021-03-09 12:18:36 · 132 阅读 · 0 评论