sql函数
文章平均质量分 74
何以解忧,唯有..
这个作者很懒,什么都没留下…
展开
-
理解 mysql 之 count(*)的性能问题
既然说到count(*),就不能不说一下count家族的其他成员,比如:count(1)、count(id)、count(普通索引列)、count(未加索引列)。而innodb则不同,由于它支持事务,有MVCC(即多版本并发控制)的存在,在同一个时间点的不同事务中,同一条查询sql,返回的记录行数可能是不确定的。对于有些业务场景,新增数据很少,大部分是统计数量操作,而且查询条件很多。count(未加索引列):它会全表扫描获取所有数据,解析中未加索引列,然后判断是否为NULL,如果不是NULL,则行数+1。原创 2023-01-03 10:38:51 · 1695 阅读 · 0 评论 -
Sql 语句优化总结
对于or没有索引的salary这种情况,假设它走了id的索引,但是走到salary查询条件时,它还得全表扫描。2、如果mysql优化器发现,走索引比不走索引成本还要高,就会放弃索引,这些条件!=,,is null,is not null经常被认为让索引失效,其实是因为一般情况下,查询的成本高,优化器自动放弃索引的。记住实现业务优先,实在没办法,就只能使用,并不是不能使用。3、如果把null值,换成默认值,很多时候让走索引成为可能,同时,表达意思也相对清晰一点。使用or可能会使索引失效,从而全表扫描。....原创 2022-08-11 23:33:26 · 883 阅读 · 0 评论 -
Mongodb基础入门教程(二)
一、聚合Aggregate聚合(Aggregate)主要用于计算数据,类似sql中的sum(),avg()语法:管道管道在Linux系统中一般用于将当前命令的输出结果作为下一个命令的输入。在mongodb中,管道具有相同的作用,文档处理完毕后,通过管道进行下一次处理。表达式处理输入文档并输出语法:1、$group将集合中的文档分组,可用于统计结果;_id 表示分组的依据,使用某个字段的格式为 ‘$字段名’举例:通过gender字段分组,统计不同性别的人数总和...原创 2021-06-02 23:06:17 · 72 阅读 · 0 评论 -
Mongodb基础入门教程(一)
一、简介Mongodb是一种非关系性数据库(nosql – not only sql)MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。下面是Sql与mongodb的术语对比:mongodb的三元素:数据库(database)、集合(collection)、文档(document),集合对应的是关系型数据库中的原创 2021-05-24 22:42:37 · 759 阅读 · 0 评论 -
SQL中的表联查 7种JOIN连接
tb_dept表:tb_emp表:一、内链接:取tb_emp表和tb_dept表的共有部分sql语句:SELECT a.,b. FROM tb_emp a INNER JOIN tb_dept b ON a.dept_id = b.id;执行结果:二、左链接:取tb_emp表和tb_dept表的共有部分和tb_emp表的独有部分sql语句:SELECT a.,b. FRO...原创 2020-04-28 21:30:16 · 650 阅读 · 0 评论 -
MySQL索引学习总结
概述索引类似大学图书馆建的书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。一、导致SQL执行慢的原因1、硬件问题。如网络速度慢,内存不足,I/O吞吐量小,磁盘空间满了等。2、没有索引...原创 2020-02-24 16:53:08 · 330 阅读 · 0 评论 -
mysql中的 isnull(exper)、ifnull(exper1,exper2)、nullif(exper1,exper2)函数
1.isnull(exper) 判断exper是否为空,是则返回1,否则返回0如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0tb_student_record表- -> SELECT org_id,ISNULL(org_id) FROM tb_student_record为 null 的返回值为1,否则返回值为02.ifnull(exper1,e...原创 2019-10-22 10:23:06 · 2613 阅读 · 0 评论 -
mqsql数据库索引和explain使用
索引优点:通过建立唯一索引或者主键索引,可以保证数据库表中每一行数据的唯一性,大大提高检索的数据的效率,以及减少表的检索行数。缺点:在创建索引和维护索引,会耗费时间,随着数据量的增加而增加,索引文件占用物理空间,当对表的数据进行增、删、改的时候,索引也要动态的维护,这样就会降低数据的维护速度。索引分成单列索引和组合索引单列索引:一个索引只包含一个列,可以有多个单列索引(主键索引,唯一...原创 2019-09-16 11:15:23 · 202 阅读 · 0 评论 -
Mysql 的数据类型
一、整型在mysql的数据类型中有如下定义,整型类型(显示宽度)注意,正确的理解,其实是显示宽度,因为整型的显示宽度,对数值大小无影响,只是当设置了zerofill的时候,在显示的时候补0而已。二、浮点型与定点型在mysql的数据类型中浮点型分为两种,float()与double()类型,定点型为decimal()数据类型(M,D)M: 精度,数据的总长度;D: 标度,小数点后的长...原创 2019-08-19 16:03:20 · 193 阅读 · 0 评论 -
MySql中的数值函数
Mysql中常用数值函数归纳1、获取随机数rand() 函数返回一个数完全是随机的,rand(x) 函数返回的随机数值是相同的2、获取整数的函数ceil(x) – 返回大于或等于数值x的最小整数(天花板,向上取整)floor(x) – 返回小于或者等于数值x的最大整数(地板,向下取整)3、截取数值函数round(x) – 返回函数经过四舍五入操作后的数值round(x,y) ...原创 2019-07-30 16:31:17 · 423 阅读 · 0 评论 -
MySQL中的字符串函数
1、合并字符函数 concat() 和 concat_ws()语法格式 concat(str1,str2…strn)将传入的参数连接起来返回的字符串类型数据,如果有一个参数为null,则返回结果为null语法格式 concat_ws(sep,str1,str2…strn)将字符多个字符串连接成一个字符串,字符串之间的分隔符(separator)分开,分隔符为null,则返回null,字...转载 2019-07-30 14:08:17 · 580 阅读 · 0 评论 -
MySql中的CASE、WHEN用法
MySql数据库中的CASE WHEN语句CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。(1)简单 CASE 函数:CASE input_expressionWHEN when_expression THENresult_expression […n ]...原创 2019-07-23 17:18:51 · 1728 阅读 · 0 评论 -
Mysql中常用的日期和时间函数
干货返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)DAYOFWEEK(date):select DAYOFWEEK(‘2019-07-17’); – 4 (星期三)select DAYOFWEEK(now()); – 5 (星期四)返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)WEEKDAY(date):select WEEKDAY(‘...原创 2019-07-18 16:32:06 · 364 阅读 · 0 评论