首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么在代码中要求我们使用LocalDateTime而不是Date?

作者:何甜甜在吗 来源:http://1t.click/a7Gm 在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat...在多并发情况下使用SimpleDateFormat需格外注意 SimpleDateFormat除了format是线程不安全以外,parse方法也是线程不安全的。...calb中中属性设置cal c、返回设置好的cal对象 但是这三步不是原子操作 多线程并发如何保证线程安全 - 避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat...=> 较好的方法 1.Date对时间处理比较麻烦,比如想获取某年、某月、某星期,以及n天以后的时间,如果用Date来处理的话真是太难了,你可能会说Date类不是有getYear、getMonth这些方法吗...有的我都有,Date没有的我也有,日期选择请Pick Me ====================== Update On 2019/09/18 ================= SpringBoot中应用

1.1K20

SQL语句规范参考

例如在where子句中numeric型和int型的列的比较。 8. 在子查询中前后必须加上括号。...查询时应尽量减少多余数据的读取,通过使用where子句来减少返回的记录数。 2. 如果在语句中有not in(in)操作,应尽量用not exists(exists)来代替。...= order.customerId) 使用exists的效率依赖于匹配度,inner join效率比较稳定> 11....字符串连接应使用“||”符号,而不应使用“+”。“+”是SQLServer语法,Oracle和DB2支持“||”,Hibernate转化为SQLServer时,会自动将“||”转为“+”。 3....截取字符串长度函数应使用substr,起始位置为1表示从头开始。因为db2中substr起点为1,0会报错;在SqlServer数据库中使用的是substring需要进行转换。 5.

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《SQL Cookbook》 - 第三章 多表查询

    内连接中的相等连接, select a.ename, d.loc   from emp a, dept d where a.deptno = d.deptno; 可显式使用JOIN子句,INNER则是可选项...如果习惯在FROM子句中,而不是WHERE子句中,写连接逻辑,则可以使用JOIN子句。 如果从可阅读性角度来说,表关联的时候,关联条件写在ON子句中,过滤条件写在WHERE子句中,会更让人理解。...如果deptno是主键,不需要改,如果不是,则需要使用DISTINCT来确保每个在emp表中缺少的deptno值只出现一次,如下所示, select distinct deptno   from dept...EXISTS/NOT EXISTS和关联子查询一起使用时,SELECT中的列,不重要,之所以使用了NULL,是为了让注意力集中在子查询的连接操作上,而不是SELECT的列上。 5. ...新增连接查询而不影响其他连接查询 如果是DB2、MySQL、PG以及SQL Server、Oracle 9i以上,可使用, select e.ename, d.loc, eb.received   from

    2.4K50

    我是一个索引

    在关系型数据库中,我是一名索引 (Index)。 大家都知道,通常情况下我都会带来查询性能的提高。 需要指出的是,我并不是多多益善。 我类似于一本书的目录,只不过书的内容是静态的,而数据是动态变化的。...可以想像,如果书中的内容页频繁变化,那么更新书的目录也会花掉不少成本。所以说,我不是多多益善。 我是数据库中一个排序的数据结构,以协助快速查询、更新数据库表中数据。...从逻辑上来说,按照这种谓词中给定的条件,DB2 数据库可以用索引访问的方式来在索引树中快速找到一个或多个相匹配的记录。...需要注意的是,可以使用索引的谓词 这个概念关注的是谓词本身的写法使得通过索引来访问数据成为可能,而它并不能保证在数据库中合适的索引是存在的,也不能保证 DB2 数据库在运行时一定会通过索引访问的方式来筛选满足这个谓词条件的数据...我的另一面 建立索引会降低更新(update), 插入(insert), 删除(delete)表中数据的速度。因为此时 DB2 需要同时更新表上的索引,若同一张表上有多个索引,情况会更糟。

    82330

    oracle 笔记

    SQL语句的WHERE子句中使用函数 在 WHERE 子句中应该尽量避免在列上使用函数,因为这样做会使该列上的索引失效,影响SQL 语句的性能。...< TIMESTAMP '2009-9-25 00:00:00.0'; Oracle 尽量避免在 SQL语句中使用 LIKE 前面,我们介绍了尽量避免在SQL语句的WHERE子句中使用函数,因为这样做会使该字段上的索引失效...1 把 USER_INFO 表导出生成一个文件,要求性别为男或女,而不是1和2,怎么办?...方法1 使用三条语句,先把2更新成3,接着把1更新成2,最后把3更新成1,是不是很麻烦?...CASE使用案例 3 假设让你把张三的生日更新成1949-10-1,李四的生日更新成1997-7-1等,类似这样的更新有很多。该怎么办呢?非常简单,大多数人会这么做。

    4.1K30

    ShardingSphere实践(6)——弹性伸缩

    存量数据:在弹性伸缩作业开始前,数据节点中已有的数据。 增量数据:在弹性伸缩作业执行过程中,业务系统所产生的新数据。 3....ShardingSphere-Scaling目前不是一个独立的产品,而是以ShardingSphere-Proxy中的一个配置项提供相应功能。...        目标66、102执行: drop database if exists db1; drop database if exists db2; create database db1; create...这是个全局 DistSQL 命令,返回所有状态的Scaling作业,而不是只针对回当前逻辑数据库的。SHOW SCALING STATUS 命令查询某个迁移作业的进度。...监控迁移作业         本例中因为我们的源和目标使用同一个Proxy集群,第1-3步已经在上一步“准备测试用例环境”中完成了。

    3.8K21

    MYSQL Whats new in 优化和执行 来自旧金山的问候

    8 可以针对不同的逻辑开始使用 SKIP LOCKED, NOWAIT 功能,这将解决某些业务中(例如订票,及相关类似业务中的并发问题) 接下来,演讲者提出 MYSQL 8 支持 JSON DATA...EXISTS 变化为 anti-semi-join 的方式来处理。...其中对于 ANTI-SEMI-JOIN 中提到 not exists 和 not in 将直接转换为 anti-semi-join 在查询在内部被重写为antijoin,它返回类中不匹配的每一行的一个实例...很高效率很低,因为每次都会根据索引来分批读取数据进行处理,而HASH JOIN 将是改变这样不明智处理的改革方式,在其中一个表中对要比对的值进行HASH MAP 的建立,然后进行值的比对,如果你是开发则知道这样的比对会比较快...,我们建议使用HASH JOIN 或强制HASH JOIN 因为我们已经将其添加到了 HITS中,来代替BNL (block NESTED LOOP),当你使用MYSQL 8.018 处理类似事务的时候你会很惊喜这样的方式

    51520

    SQL 进阶技巧(上)

    ); 2、排序 在 db 中,我们经常需要按分数,人数,销售额等进行排名,有 Oracle, DB2 中可以使用 RANK 函数进行排名,不过在 MySQL 中 RANK 函数未实现,这种情况我们可以使用自连接来实现...,假设有如下商品,我们重新格式化一样,如果 city 为 null,代表商品不在此城市发行,但我们在展示结果的时候不想展示 null,而想展示 'N/A', 可以这么做: SELECT COALESCE...MAX(item) FROM Items; -- 这样写能用到索引 SELECT MAX(item_no) FROM Items; 注意:极值函数参数推荐为索引列中并不是不需要排序,而是优化了排序前的查找速度...,原因主要有两点 使用 GROUP BY 子句进行聚合时会进行排序,如果事先通过 WHERE 子句能筛选出一部分行,能减轻排序的负担 在 WHERE 子句中可以使用索引,而 HAVING 子句是针对聚合后生成的视频进行筛选的...八、减少中间表 在 SQL 中,子查询的结果会产生一张新表,不过如果不加限制大量使用中间表的话,会带来两个问题,一是展示数据需要消耗内存资源,二是原始表中的索引不容易用到,所以尽量减少中间表也可以提升性能

    1.1K20

    19条mysql优化mark下

    三、SELECT语句务必指明字段名称 SELECT *增加很多不必要的消耗(cpu、io、内存、网络带宽);增加了使用覆盖索引的可能性;当表结构发生改变时,前断也需要更新。...两边的字段中,如果有一个不是索引字段,而其他条件也不是索引字段,会造成该查询不走索引的情况。...所以IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。 关于not in和not exists,推荐使用not exists,不仅仅是效率问题,not in可能存在逻辑问题。...如下图这个sql语句,扫描的行数成百万级以上的时候就可以使用分段查询 十二、避免在 where 子句中对字段进行 null 值判断 对于null的判断会导致引擎放弃使用索引而进行全表扫描。...STRAIGHT_JOIN来强制连接顺序,在STRAIGHT_JOIN左边的表名就是驱动表,右边则是被驱动表。在使用STRAIGHT_JOIN有个前提条件是该查询是内连接,也就是inner join。

    70900

    效率提高N倍的19条MySQL优化秘籍

    ,尽量少用or ---- or两边的字段中,如果有一个不是索引字段,而其他条件也不是索引字段,会造成该查询不走索引的情况。...所以IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。 关于not in和not exists,推荐使用not exists,不仅仅是效率问题,not in可能存在逻辑问题。...A表 Left join B表 on where a.id = b.id where b.id is null 取出的结果集如下图表示,A表不在B表中的数据 ?...十二、避免在 where 子句中对字段进行 null 值判断 ---- 对于null的判断会导致引擎放弃使用索引而进行全表扫描。...STRAIGHT_JOIN来强制连接顺序,在STRAIGHT_JOIN左边的表名就是驱动表,右边则是被驱动表。在使用STRAIGHT_JOIN有个前提条件是该查询是内连接,也就是inner join。

    52620

    19条效率至少提高3倍的MySQL技巧

    两边的字段中,如果有一个不是索引字段,而其他条件也不是索引字段,会造成该查询不走索引的情况。...所以IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。 关于not in和not exists,推荐使用not exists,不仅仅是效率问题,not in可能存在逻辑问题。...如下图这个SQL语句,扫描的行数成百万级以上的时候就可以使用分段查询: ? 12、避免在where子句中对字段进行null值判断 对于null的判断会导致引擎放弃使用索引而进行全表扫描。...14、避免在where子句中对字段进行表达式操作 比如: select user_id,user_project from user_base where age*2=36; 中对字段就行了算术运算,这会造成引擎放弃使用索引...STRAIGHT_JOIN来强制连接顺序,在STRAIGHT_JOIN左边的表名就是驱动表,右边则是被驱动表。在使用STRAIGHT_JOIN有个前提条件是该查询是内连接,也就是inner join。

    45320

    必须收藏的19条MySQL优化,效率至少提高3倍!!!

    两边的字段中,如果有一个不是索引字段,而其他条件也不是索引字段,会造成该查询不走索引的情况。...所以IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。 关于not in和not exists,推荐使用not exists,不仅仅是效率问题,not in可能存在逻辑问题。...如下图这个SQL语句,扫描的行数成百万级以上的时候就可以使用分段查询: ? 12、避免在where子句中对字段进行null值判断 对于null的判断会导致引擎放弃使用索引而进行全表扫描。...14、避免在where子句中对字段进行表达式操作 比如: select user_id,user_project from user_base where age*2=36; 中对字段就行了算术运算,...STRAIGHT_JOIN来强制连接顺序,在STRAIGHT_JOIN左边的表名就是驱动表,右边则是被驱动表。在使用STRAIGHT_JOIN有个前提条件是该查询是内连接,也就是inner join。

    50610

    巧用这19条MySQL优化,效率至少提高3倍

    两边的字段中,如果有一个不是索引字段,而其他条件也不是索引字段,会造成该查询不走索引的情况。...所以IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。 关于not in和not exists,推荐使用not exists,不仅仅是效率问题,not in可能存在逻辑问题。...如下图这个SQL语句,扫描的行数成百万级以上的时候就可以使用分段查询: ? 12、避免在where子句中对字段进行null值判断 对于null的判断会导致引擎放弃使用索引而进行全表扫描。...14、避免在where子句中对字段进行表达式操作 比如: select user_id,user_project from user_base where age*2=36; 中对字段就行了算术运算,这会造成引擎放弃使用索引...STRAIGHT_JOIN来强制连接顺序,在STRAIGHT_JOIN左边的表名就是驱动表,右边则是被驱动表。在使用STRAIGHT_JOIN有个前提条件是该查询是内连接,也就是inner join。

    40930

    巧用这19条MySQL优化,效率至少提高3倍

    两边的字段中,如果有一个不是索引字段,而其他条件也不是索引字段,会造成该查询不走索引的情况。...所以IN适合于外表大而内表小的情况;EXISTS适合于外表小而内表大的情况。 关于not in和not exists,推荐使用not exists,不仅仅是效率问题,not in可能存在逻辑问题。...如下图这个SQL语句,扫描的行数成百万级以上的时候就可以使用分段查询: ? 12、避免在where子句中对字段进行null值判断 对于null的判断会导致引擎放弃使用索引而进行全表扫描。...14、避免在where子句中对字段进行表达式操作 比如: select user_id,user_project from user_base where age*2=36; 中对字段就行了算术运算,这会造成引擎放弃使用索引...STRAIGHT_JOIN来强制连接顺序,在STRAIGHT_JOIN左边的表名就是驱动表,右边则是被驱动表。在使用STRAIGHT_JOIN有个前提条件是该查询是内连接,也就是inner join。

    67120
    领券