首页 > 数据库 >Mysql的学习

Mysql的学习

时间:2025-01-20 21:45:19浏览次数:1  
标签:COUNT sku 主键 学习 为空 Mysql tb id

Mysql建立

索引优化:

sql优化:
为了解决下面的索引失效问题

序列索引优化:

解决order by的关键在于提前在索引中就给好排序
解决limit优化:
利用id的子查询解决了回表查询然后提升了效能。


关于count()的优化:

`关于COUNT()的效率问题:
COUNT()是用来统计记录数量的函数。不同写法的效率可能不一样,通常情况下,COUNT(*)效率最高,因为它是直接统计表中的记录数,而不需要检查字段是否为空。
不同写法的COUNT()语句和作用:

  1. COUNT(*)

SELECT COUNT(*) FROM tb_sku;
作用:统计tb_sku表中的总记录数,包括所有行,不管字段值是否为空。
2. COUNT(主键 id)

SELECT COUNT(id) FROM tb_sku;
作用:统计tb_sku表中id字段非空的记录数。因为id通常是主键,主键字段不允许为空,所以这个结果和COUNT(*)是一样的。
3. COUNT(1)

SELECT COUNT(1) FROM tb_sku;
作用:统计tb_sku表中的总记录数。COUNT(1)的意思是每行都算作1,然后加起来,结果和COUNT(*)一样。
4. COUNT(字段)

SELECT COUNT(字段) FROM tb_sku;
作用:统计tb_sku表中字段非空的记录数。如果字段有空值,这些空值不会被计入总数。
效率排序:
按照效率排序,通常是这样的:
COUNT() ≈ COUNT(1) > COUNT(主键 id) > COUNT(字段)
COUNT(
)和COUNT(1)效率最高,因为它们直接统计行数,不需要检查字段是否为空。
COUNT(主键 id)效率也高,因为主键字段不会为空。
COUNT(字段)效率可能稍低,因为它需要检查字段是否为空。
总结:
如果只是想统计表的总行数,最好用COUNT(*)或COUNT(1),因为它们效率最高。`

标签:COUNT,sku,主键,学习,为空,Mysql,tb,id
From: https://www.cnblogs.com/cici-ruofeng/p/18682535

相关文章

  • 基于深度学习的推荐系统构建:Movielens 数据集
    基于深度学习的推荐系统构建:Movielens数据集依赖环境代码语言:python3.11.5开发平台:pycharmtensorflow版本:2.18.0MovieLen1M数据及简介MovieLens1M数据集包含包含6000个用户在近4000部电影上的100万条评分,也包括电影元数据信息和用户属性信息。下载地址为:http://f......
  • 莫队套分块-学习笔记
    莫队套分块P4396[AHOI2013]作业题目翻译:给定一个长度为\(n\)的序列,\(m\)次询问,每一次给出\(l,r,a,b\)及求在区间\([l,r]\)间在值域\([a,b]\)的所有数的个数,和数的种数。算法理解:莫队套分块,显而易见就是在运用莫队的前提下,用分块来处理莫队的增减值。分块的复杂度......
  • Mybatis 学习总结
    Mybatis学习总结一.环境说明:jdk8+MySQL5.7.19maven-3.6.1IDEA二.学习前需要掌握:JDBCMySQLJava基础MavenJunit2.1什么是MyBatisMyBatis是一款优秀的持久层框架MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程MyBatis可以使用简单的X......
  • JavaScript学习(三)
    有事情的缘故导致中间几天没有进行学习。今天开始继续后端的学习,学习的第五天(2025.1.20)JavaScript 函数定义        JavaScript使用关键字 function 定义函数。        函数可以通过声明定义,也可以是一个表达式。        函数声明   ......
  • AAAI2024论文解读|Bidirectional Contrastive Split Learning for Visual Question An
    论文标题BidirectionalContrastiveSplitLearningforVisualQuestionAnswering双向对比分裂学习用于视觉问答论文链接BidirectionalContrastiveSplitLearningforVisualQuestionAnswering论文下载论文作者YuweiSun,HideyaOchiai内容简介本文提出了一种名......
  • python的函数学习
    函数定义方式Python:defmy_function(param1,param2,keyword_param=None):returnparam1+param2+(keyword_paramifkeyword_paramisnotNoneelse0)Python使用def关键字来定义函数。参数类型不需要显式声明,Python是动态类型语言。C/C++:intmy_function(intp......
  • rust学习-函数的定义与使用
    rust学习-函数的定义与使用1.函数的基本定义2.函数的参数多个参数3.返回值提前返回4.函数调用5.函数的所有权和借用传递所有权借用6.函数作为参数和返回值函数作为参数函数作为返回值7.泛型函数8.函数注释(文档注释)1.函数的基本定义在Rust中,函数使用fn......
  • Doris 2.1 Queries Acceleration -Tuning Plan学习笔记
    1OptimizingTableSchemaDesign1.1Case1:TableEngineSelection1.1.1Thequeryperformanceofthesetablemodels,frombesttoworst,is:Duplicate>MOW>MOR==Aggregate.1.2Case2:BucketColumnSelection1.2.1Selectingappropriatebucket......
  • JAVA开源毕业设计 在线课程管理系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T137,文末自助获取源码\color{red}{T137,文末自助获取源码}......
  • 清风数学建模学习——01层次分析法
    层次分析法矩阵若矩阵各元素aij>0,且aij*aji=1,则称其为正互反矩阵若正互反矩阵满足aij*ajk=aik,ann=1,则称其为一致矩阵第一步层次结构图可用SmartArt生成亿图图示第二步构造判断矩阵第三步计算相对权重,并进行一致性检验算数平均法几何平均法特征值法一致性......