SQL
文章平均质量分 53
Allen Wu(WU, ZHWIEI)
keep learning
展开
-
fasonjson的@JSONField注解 format日期格式
比如我们有一个字段在数据库是datetime类型的,但是我们又需传给前端“yyyy-MM-dd”这样的格式,这时我们不需要再代码里面去手动用simpledateformat或者DateTimeFormatter去转,这样很转很麻烦的。我们可以使用fasonjson的@JSONField注解,来format成任意我们想要的格式。package com.alibaba.fastjson.annotation;import com.alibaba.fastjson.parser.Feature;impo原创 2022-03-09 17:15:33 · 1356 阅读 · 0 评论 -
52条SQL语句,性能优化
本文会提到 52 条 SQL 语句性能优化策略。1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:<,<=,=,>,>=,转载 2021-11-08 22:00:57 · 97 阅读 · 0 评论 -
52条SQL语句性能优化策略,建议收藏
本文会提到 52 条 SQL 语句性能优化策略。1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:<,<=,=,>,>=,转载 2021-01-15 10:33:34 · 115 阅读 · 0 评论 -
sql根据多个字段去重查询 返回所有字段
book表中的数据:根据所有字段去重:SELECT DISTINCT * from dbo.book sql根据多个字段去重:SELECT title,isbn,author_id ,page_count from dbo.book group by title,isbn,author_id ,page_count 或者:SELECT DISTINCT title,isbn,author_id ,page_count from dbo.booksql根据多个字段去重,并且返回所有原创 2021-01-13 16:28:32 · 10623 阅读 · 2 评论 -
2019-2-20Sqlserver数据库中char、varchar、nchar、nvarchar的区别及查询表结构
varchar 和 nvarchar区别:varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。两字段分别有字段值:我和coffee那么varchar字段占2×2+6=10个字节的存储空间,而nvarcha转载 2020-12-11 10:47:51 · 297 阅读 · 0 评论 -
mysql最左前缀原则学习笔记,in也可以走索引
通过我的测试得出的结论:如果索引是(a,b,c)那么不只是a,ab,abc可以走索引,任何abc的排列组合都可以走到索引,or < > between and甚至是in都也是可以走到索引的。(我在很多文章看到说in不能走索引,包括在面试中,面试官也觉得不会走索引的,这个也能跟mysql的版本有关系,下来再去研究下)mysql版本:8.0.18sql:建立索引:ALTER T...原创 2020-03-04 17:51:31 · 1262 阅读 · 0 评论 -
Mysql优化看这篇文章就够了,超详细!!!
索引的优缺点创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提...转载 2019-05-05 17:16:46 · 654 阅读 · 0 评论 -
mysql数据中文变成了问号?解决方案
在mysql存储中文文字变成了???如下图:首先debug看传到接口的参数是不是中文的,排除项目编码问题。那就来就是mysql的问题了,解决方案:1,查看table编码,修改字符集为utf82,在连接mysql的url上添加参数。useUnicode=yes&characterEncoding=utf8,如下:jdbc:mysql://localhost:3306/test?...原创 2018-11-02 15:49:49 · 13007 阅读 · 1 评论 -
mysql在linux下的安装
转载:https://www.cnblogs.com/bookwed/p/5896619.htmlmysql在linux下的安装安装环境:系统是 centos6.51、下载下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads下载版本:我这里选择的5.6.33,通用版,linux下64位也可以直接复制64位的下载地址,通...原创 2018-10-18 12:59:08 · 187 阅读 · 0 评论 -
oracle对日期的操作详解,基本的操作全在这儿了
对日期的加法操作select sysdate,add_months(sysdate,12) from dual; –加1年 select sysdate,add_months(sysdate,1) from dual; –加1月 select sysdate,to_char(sysdate+7,’yyyy-mm-dd HH24:MI:SS’) from du...原创 2018-09-01 10:05:37 · 2542 阅读 · 0 评论 -
oracle sql 语句性能优化总结
Sql 优化:当Oracle数据库拿到SQL语句时,其会根据查询优化器分析该语句,并根据分析结果生成查询执行计划。 也就是说,数据库是执行的查询计划,而不是Sql语句。 查询优化器有rule-based-optimizer(基于规则的查询优化器) 和Cost-Based-optimizer(基于成本的查询优化器)。 其中基于规则的查询优化器在10g版本中消失。 对于规则查询,其最后查询...原创 2018-07-02 11:41:31 · 598 阅读 · 0 评论 -
oracle对日期查询的操作总结!!!
平常写的一个查询日期的操作,从前端传来开始时间START_SALE_DATE和结束时间END_SALE_DATE去匹配表中的SALE_DATE 字段,将传来的字段使用to_date函数转成日期类型在处理。注意格式只能是带某天的形式yyyy-MM-dd,才能用between and。因为between and是不包括右边界的。比如是这样的格式2018-06-02 18:07:35这样if(Str...原创 2018-06-02 18:08:27 · 726 阅读 · 0 评论 -
mysql使用between and处理时间区间不包括右边界问题(请先看最下面的更正)
mysql使用between and处理时间区间不包括右边界问题最近自己写项目发现mysql使用between and处理时间区间不包括右边界。 SELECT * FROM timeline WHERE username = ‘Allen’ AND logTime BETWEEN ‘2017-04-01’ AND DATE_ADD(‘2017-04-04’,INTERVAL 1 DAY);原创 2017-04-05 08:43:53 · 104155 阅读 · 15 评论 -
oracle 在做 自然连接时候 字段类型不一样 报错
oracle 在做 自然连接时候 字段类型不一样 报错昨天在连接两张表时候 由于要连接的两个字段类型不一样,导致了invalid number错误。sql如下: select c.* from cms_node_main a,cms_resource_properties b,cms_news_properties c where a.NODET_ID = b.NODE_ID原创 2017-05-04 10:59:29 · 858 阅读 · 0 评论 -
对于oracle sql左连接的一点认识
我们在连表的时候,可能有这样的需求,比如我要查询歌曲的信息,有张Song表,但是我需要返回的额数据不仅仅是Song的信息,可能还有专辑的信息,这时候我们就需要使用到左连接。左连接就是不管右边表有没有对应的 都要展示出左边的表的数据。左边的表就是我们要连接的主表。 有这样的sql: SELECT /+ parallel(10)/ DISTINCT AL.ALBUM_ID,AL.A原创 2017-09-27 20:59:11 · 933 阅读 · 0 评论 -
ORACLE中Like与Instr模糊查询性能大比拼
转载自:http://blog.csdn.net/u010741376/article/details/51365255 ORACLE中Like与Instr模糊查询性能大比拼 instr(title,’手册’)>0 相当于 title like ‘%手册%’instr(title,’手册’)=1 相当于 title like ‘手册%’ instr(title,’手册’)...转载 2018-03-14 18:26:17 · 2608 阅读 · 0 评论 -
oracle九百万级的分页sql优化
先看看数据库music表的大小:SELECT count(1) from music 优化之前的sql:select * from (SELECT m.* ,ROWNUM rn from music m) m where m.rn>0 and m.rn<=20 执行结果: [SQL]select * from (SELECT m.* ,ROWNUM rn from m...原创 2018-03-15 10:25:58 · 3860 阅读 · 2 评论 -
记一次解决oracle sql性能瓶颈的问题
先上sql:SELECT (SELECT M.ALBUM_ID FROM ALBUM_R_MUSIC AM,ALBUM M WHERE AM.MUSIC_ID = M.MUSIC_ID AND AM.ALBUM_ID = M.ALBUM_ID AND ROWNUM = 1) ALBUM_ID, (SELECT M.ALBUM_NAME FROM ALBUM...原创 2018-03-12 21:42:45 · 1781 阅读 · 0 评论 -
Oracle定时执行存储过程
定时执行存储过程在平时开发中经常会用到,年前的时候自己也做了一个,由于时间关系一直没能记录,现记录下来。 首先用一个完整的例子来实现定时执行存储过程。 任务目标:每小时向test表中插入一条数据 实现方案: 1.通过 oracle 中 dbms_job 完成存储过程的定时调用 2.在存储过程中完成相应的逻辑操作 实现步骤: 1.创建一个测试表 c...原创 2018-03-21 17:12:25 · 236 阅读 · 0 评论 -
Oracle SQL语句之常见优化方法总结(转)
转载:http://blog.csdn.net/dtjiawenwang88/article/details/74892245 下面列举一些工作中常常会碰到的Oracle的SQL语句优化方法:1、SQL语句尽量用大写的;因为oracle总是先解析SQL语句,把小写的字母转换成大写的再执行。2、使用表的别名: 当在SQL语句中连接多个表时, 尽量使用表的别名并把别名前缀于每个列上。...转载 2018-03-21 17:51:28 · 182 阅读 · 0 评论 -
where,having与 group by连用的区别
where,having与 group by连用的区别select 列a,聚合函数 from 表名 where 过滤条件 group by 列a having 过滤条件 group by 字句也和where条件语句结合在一起使用。当结合在一起时,where在前,group by 在后。即先对select xx from xx的记录集合用where进行筛选,然后再使用group by 对筛选后的结果转载 2017-04-02 22:19:22 · 466 阅读 · 0 评论