mysql研究跟进
2024-09-01 23:52:28
- count(1)对比 count(*)
- count(N),N指的是列的序列号,innodb引擎下一般为主键列;count(*),mysql优化器也会将统计列自动优化。所以日常使用区别不大
- 阿里规范里的【强制】不要使用 count(列名)或 count(常量)来替代 count(*),count(*)是 SQL92 定义的 标准统计行数的语法,跟数据库无关,跟 NULL 和非 NULL 无关。 说明:count(*)会统计值为 NULL 的行,而 count(列名)不会统计此列为 NULL 值的行
- order by 和 limit 一起使用陷阱
- 会引发数据丢失,处理方案:加一个唯一索引字段加入排序。
- 千万级数据量的表 limit查询优化
- select id,title from table where id>=(select id from table order by id limit 90000,1) limit 10;
- select后只跟主键id,查询、排序字段用联合索引包涵,查询出ids再查所需记录。
- 联合查询
- 推荐使用显示内联,tmp中间表为on条件出来的表
- in、exist 小表驱动大表?【待补充】
- mysql位运算的使用
- 处理单个子段对应多个属性的场景,e.g:存多个角色、存多个状态等 field & #{val}
- ddl导致的慢sql?【待补充】
- varchar(21845)
- 行记录大小65535b
- utf-8一个字符最多占3个字节/gbk最多占2个字节
- 执行计划中Cardinality:不重复记录的预估值
- 值越小越不推荐建立索引
- Cardinality/n_row_in_table尽可能接近1
- 预估值,非准确值
最新文章
- linux net command /uboot command
- 识别低效率的SQL语句
- csu 1604 SunnyPig (bfs)
- unity3d游戏物体跟着鼠标方向移动
- mysql中char与varchar的区别
- Linux下查看进程(程序)启动时的环境变量
- nodeValue的兼容问题
- Hangfire 使用笔记
- 设计模式的征途—4.抽象工厂(Abstract Factory)模式
- css3之border-radius理解
- HBase多条件及分页查询的一些方法
- mysql 字符编码设置
- 多项式函数插值:全域多项式插值(一)单项式基插值、拉格朗日插值、牛顿插值 [MATLAB]
- [sh]shell小结
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'blog.t_blog.addTime' which is not functi
- 阿里云异常网络连接-可疑WebShell通信行为的分析解决办法
- [Codeforces888E]Maximum Subsequence(暴力+meet-in-the-middle)
- Markdown简要规则
- MyBatis---自动创建表
- SecureCRT的上传和下载