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

解读《Java开发手册(泰山版)》- 会当凌绝顶,一览众山小 (附下载地址)

比如,日期时间的闰年、闰月问题,三目运算的自动拆箱,SQL查询的表别名限定,Collectors 类的 toMap()方法使用注意等。 修改描述 90 处。比如,阻塞等待锁、建表的小数类型等。...即:按实际来进行多级分类,如前两位代指服务编号,次一位代指错误类别,再次之代指具体错误编号。 错误码切记重复。 二、日期时间规范 新增"日期时间"的编程规范,都是些细节问题,稍加思考、留意,就可避免。...【强制】不允许在程序任何地方中使用:1)java.sql.Date 2)java.sql.Time 3)java.sql.Timestamp。...【强制】不要在程序中写死一年为 365 天,避免在公历闰年时出现日期转换错误或程序逻辑错误。 稍有些常识的人都知道,不可能每年都是365天的。...以下两种场景会触发类型对齐的拆箱操作: 1) 表达式 1 或表达式 2 的值只要有一个是原始类型。 2) 表达式 1 或表达式 2 的值的类型不一致,会强制拆箱升级成表示范围更大的那个类型。

1.2K50

浅谈mysql分区、分表、分库

• 如果含有唯一索引或者主键,则分区列必须包含在所有的唯一索引或者主键在内 • 不支持外键 • 不支持全文索引(fulltext) 按日期进行分区很非常适合,因为很多日期函数可以用。...注: 在Windows中将忽略DATA DIRECTORY和INDEX DIRECTORY选项。...如果从服务器运行时将SQL 模式设置为包括该选项,复制CREATE TABLE 语句时将忽略这些子句。结果是在表的数据库目录中创建了MyISAM数据和索引文件。...分析:表的数据量少了,单次SQL执行效率高,自然减轻了CPU的负担。 垂直分表【按字段的活跃度】 概念:以字段为依据,按照字段的活跃性,将表中字段拆到不同的表(主表和扩展表)中。...比如,移动的通话记录最多保存半年,即180天,超过这个范围的数据不在提供查询。如果你实在需要,可能就要联系移动的工程师了。

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

    数据透视表:动态计算近N天数据变化

    在Excel中,我们可以使用Power Pivot和数据透视表相结合的方法来动态计算近N天的数据变化的情况。比如,我们按选择一个日期,计算当前日期的前7天、前15天,前30天等近期的数据变化情况。...这个例子是简化过来的。 为了当我们选择一个日期的时候,在我们透视表中和数据透视图中能显示选择的近N天的数据,我们还需要做两件事: (1)新建一个用于切片器的近N天的表。如图所示。...可以在excel工作表中输入,然后导入到Power Pivot中。 (2)按日期表再建立一个用于透视图的x轴和透视表的日期列的日期表。同时该表也标记为日期表。..., //计算切片器中所选的日期的近N天的日期范围 INTERSECT ( ALL ( '日期表'[Date] ), VALUES ( '切片日期表'[Date] ) )...接着插入一个数据透视图,图表类型修改为拆白线图,x轴的日期列为切片日期表中的日期列,度量值为salestotal。

    1.8K30

    MSSQL之四 简单查询

    Microsoft SQL Server 2008系统提供了28种数据类型。这些数据类型可以分为数字数据类型、字符数据类型、日期和时间数据类型、二进制数据类型以及其他数据类型。...如果希望存储日期和时间数据,那么可以使用DATETIME或SMALLDATETIME数据类型。 这两种数据类型的差别在于其表示的日期和时间范围不同、时间精确度也不同。...在查询窗口中运行如下命令: select publish from book select distinct publish from book 运行结果如下: 第一部分是要显示前三行,而第二部分则显示了...使用WHERE子句限制查询的范围,通常情况下,必须定义一个或多个条件限制查询选择的数据行。...实践问题 1、下面哪个操作符被用于显示一系列包含在列中一个范围内的值得记录?

    8910

    终于踩到了慢查询的坑

    通过给查询的数据加10s缓存,响应速度最快平均为20ms explain使用介绍 通过explain,可以查看sql语句的执行情况(比如查询的表,使用的索引以及mysql在表中找到所需行的方式等) 用explain...key_len 显示mysql在索引里使用的字节数 ref 显示了之前的表在key列记录的索引中查找值所用的列或常量 rows 为了找到所需的行而需要读取的行数,估算值,不精确。...如在Extra列看到Using index,说明正在使用覆盖索引,只扫描索引的数据,它比按索引次序全表扫描的开销要小很多 range 范围扫描,一个有限制的索引扫描。key 列显示使用了哪个索引。...导致索引全扫描统计出近七天的数据量的 解决方案 尽量避免在where子句中对字段进行函数操作,这将导致存储引擎放弃使用索引而进行全表扫描。...对于需要计算的值最好通过程序计算好传入而不是在sql语句中做计算,比如这个sql中我们将当前的日期和七天前的日期计算好传入 后记 这个问题当时在测试环境没有发现,测试环境的请求速度还是可以的。

    2K30

    图解面试题:滴滴2020求职真题

    (1)日期格式化 由于在日期格式化中,我们会涉及到需要修改表中的日期数据,因此考虑用update语句。而修改表的具体操作会涉及到日期数据类型之间的转换,我们考虑用cast函数。...如下图:红框的部分为应答订单。 根据题目的业务要求,需要对不同的条件进行统计,在《猴子 从零学会sql》里讲过条件判断要用case when表达式。...如下图:红框的部分为完成订单。...下图给出sql语句分析过程: 此时得到查询结果如下图 因为题目要求的是排序后的最大值(呼叫量最高的小时),可以用limit子句 来筛选出第一行数据。...sql语句如下: -- 添加一列来显示时间中的“年月日”部分alter table 订单信息表 add column call_time_day varchar(255);update 订单信息表set

    1.2K00

    在Excel中制作甘特图,超简单

    项目被划分为可定义的任务,每个任务在另一个任务上画成一条单独的线,线/条的宽度显示任务的持续时间及其完成状态。持续时间越长,任务在图表上显示的范围就越广。...创建步骤 步骤1:将活动单元格置于数据区域内,按Ctrl+A选择整个数据区域,然后按Ctrl+T将数据转换成Excel表。 图1 步骤2:可以看到,日期的格式为数字或“常规”数字格式。...图2 步骤3:选择“日期”中的数据,将数字格式从“常规”更改为“短日期”,也可以在CTRL+1对话框中自定义格式。 图3 注:也可以在图表中更改数字格式。...图6 步骤7:如果希望将日期轴保持在顶部,则可以跳过此步骤。但是,如果希望将日期轴放置在底部,则在“设置坐标轴格式”中将“标签位置”设置为“高”。...只需转到数据区域的最后一个单元格并单击Tab,这将自动添加一行,可以输入必要的信息,甘特图将自动更新。 甚至可以立即更新现有活动及其信息,以反映在excel甘特图中。

    7.9K30

    Hive常用函数案例实操

    分组统计,查出各部门中男女的个数: 3. 行转列: 4. 列转行 5. 综合练习 6. 查询顾客的购买明细及月购买总额 7. 将每个顾客的cost按照日期进行累加 8....查询每个顾客上次的购买时间 10. lead(col,n, default_val):某一列往后第n行数据 11. ntile(n): 把数据按行分为n组,返回组号 12....100天的日期 18. date_sub(current_date(),100) 返回当前日期前100天的日期 19. datediff(date1,date2) 返回两个日期之间的日期差 20....lead(col,n, default_val):某一列往后第n行数据 ntile(n): 把数据按行分为n组,返回组号 求前20%的订单数据: 配合ntile()使用 percent_rank(...(),100) 返回当前日期前100天的日期 datediff(date1,date2) 返回两个日期之间的日期差 连续两天购物的人:

    96050

    sql服务器系统时间格式,SQL Server 日期格式和日期操做

    SQL Server发展至今,关于日期的格式的控制方法,有传统的方法,好比CONVERT(),也有比较便利的新方法,好比FORMAT();一样,关于日期的操做函数,也分为传统方法:DATEADD(...express 1,传统的CONVERT()函数 SQL Server控制日期的的显示格式,一般使用CONVERT()函数,经过控制style参数来控制日期显示的格式,可是,style不少,不利于记忆。...、月、日 hh:mm:ss fffffff:表示时、分、秒、毫秒 使用“/”,“-”等做为链接各个部分(part)的分割符号 (1)把date/time格式化rem 在format参数中指定日期/时间显示的格式...一、二、三、4 week:周在年中的序数,取值范围是 1 – 53 dayofyear:天在年中的序数,取值范围是 1 – 366 weekday:天在一周中的序数,取值范围是 1 – 7 DATEPART...4,当前日期是周几 在SQL Server中,经过DataFirst选项设置一周的第一天,序数是从1到7,表示一周的7天。

    3.6K40

    SQL函数 TO_DATE(二)

    SQL函数 TO_DATE(二)一年中的某一天(DDD 格式)可以使用 DDD 将一年中的某一天(自 1 月 1 日以来经过的天数)转换为实际日期。...经过的天数必须是 1 到 365 范围内的正整数(如果 YYYY 是闰年,则为 366)。四位数年份必须在标准 日期范围内:1841 到 9999。...DDD 和 YYYY 格式元素可以按任意顺序指定;它们之间的分隔符是强制性的。...TO_CHAR 允许返回与日期表达式对应的一年中的哪一天。儒略历日期(J格式)SQL中,儒略日可用于1840年12月31日之前的任何日期。...儒略日计数1721424返回公元1年的1月1日(1–01–01)。儒略日计数,如1709980(亚克兴战役标志着罗马帝国在奥古斯都·凯撒统治下的开始)返回公元前(BC)日期,显示的年份前面有一个负号。

    1.4K20

    Mysql 必知必会(一)

    文章案例所需的SQL文件,点击下载 使用MySQL 进入mysql安装目录下的bin目录: 连接Mysql:mysql -uroot -p123456; 显示Mysql下的所有数据库:show databases...by prod_name,prod_price; 仅在多个行具有相同的prod_price 值时才对产品按prod_name进行排序。...因此, prod_price列以降序排序,而prod_name列(在每个价格内)仍然按标准 的升序排序。...如果被匹配的文本在列值 中出现,LIKE将不会找到它,相应的行也不被返回(除非使用 通配符)。而REGEXP在列值内进行匹配,如果被匹配的文本在 列值中出现,REGEXP将会找到它,相应的行将被返回。...(天、周等) AddTime() 增加一个时间(时、分等) CurDate() 返回当前日期 CurTime() 返回当前时间 Date() 返回日期时间的日期部分 DateDiff() 计算两个日期之差

    2.6K20

    21 分钟 MySQL 入门教程完整版

    在控制台下, MySQL 客户端也可以对语句进行单句的执行而不用保存为.sql文件。 标识符 标识符用来命名一些对象, 如数据库、表、列、变量等, 以便在脚本中的其他地方引用。...函数 MySQL函数用来实现数据库操作的一些高级功能, 这些函数大致分为以下几类: 字符串函数、数学函数、日期时间函数、搜索函数、加密函数、信息函数。...int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。...的数据库, 在命令行下执行以下命令: create database samp_db character set gbk; 为了便于在命令提示符下显示中文, 在创建时通过 character set...可视化管理工具 MySQL Workbench 尽管我们可以在命令提示符下通过一行行的输入或者通过重定向文件来执行mysql语句, 但该方式效率较低, 由于没有执行前的语法自动检查, 输入失误造成的一些错误的可能性会大大增加

    1.7K20

    Oracle EBS学习:PLSQL类型格式转换

    在oracle PL/SQL 开发中,格式转换是很常见,也用的很多的; 1: 字符转数字 TO_NUMBER(char ) 字符转换到数字类型 ​编辑 常见就上面这用...日期格式模式 可以套用to_date的,增加数字格式的如下 ​编辑 使用FM(在格式控制符前添加)符号可以去掉空格或是首位的零。...TH是序数词,将日期转换成英文的序数词拼写。 SP是基数词,将日期转换成英文的基数词拼写。...如果没有指定FORMAT,那么结果字符串中将包含和NUM中有效位的个数相同的字符。NLSPARAMS用来指定小数点和千分符及货币符号。...小数点 , 千分符 B 当整数部分为0时,将整数部分填充为空格。 例:B999 MI 返回带有后继符号而不是前导负号的负数值,正数值将带有后继的空格。

    1.3K20

    ETL工具算法构建企业级数据仓库五步法

    例如我们可以按照天将数据抽取到准备区中,基于数据准备区,进行数据的转换、整合,将不同数据源的数据进行一致性处理。数据准备区中将存在原始抽取表,一些转换中间表和临时表以及ETL日志表等。...(四)使用调度 在对数据仓库进行增量更新时必须使用调度,即对事实数据表进行增量更新处理,在使用调度前要考虑到事实数据量,需要多长时间更新一次,比如希望按天进行查看,那么最好按天进行抽取,如果数据量不大,...所以SQL更适合在固定数据库中执行大范围的查询和数据更改,由于脚本语言可以随便编写,所以在固定数据库中能够实现的功能就相当强大,不像ETL中功能只能受组件限制,组件有什么功能,才能实现什么功能。...所以具体在什么时候使用ETL和SQL就很明显了,当需要多数据源整合建立数据仓库,并进行数据分析的时候,使用ETL。如果是固定单一数据库的数据层次处理,就使用SQL。当然,ETL也是离不开SQL的。...近源模型层到整合模型层的数据流算法--以源日期字段自拉链算法 此算法是源表中有日期字段标识当前记录的生效日期,本算法通过对同主键记录按这个生效日期排序后,一次首尾相连行形成一条自然拉链的算法。

    1.1K11

    YashanDB表介绍

    在关系型数据库中一个表就是一个关系(Relation),一个关系数据库可以包含多个表。表是一种按行、列排列的具有相关信息的逻辑结构,是关系数据库中组织数据的基本单元。...这三种类型在数据库中存储的是从某个特定时间开始的时间间隔数值,因此,日期、时间类型可以进行加、减运算。用户也可以将日期、时间以某种格式转化成字符串显示。...时间间隔类型表示两个日期或时刻之间的间隔长度,具体包括年到月间隔(INTERVAL YEAR TO MONTH)、天到秒(INTERVAL DAY TO SECOND)两个数据类型。...表的组织方式表的数据相当于一个二维矩阵,存储表的数据时,可以按行存储,即将一行的所有列数据集中存储,存完一行,再存储下一行;也可以按列存储,即先存一列的所有行数据,存完一列之后,再存下一列。...# 行存表建表时将表的组织方式指定为HEAP,则表的数据将按行的方式组织。表的每一行数据将按表定义中列的顺序存储。行存表适用于数据按行获取的场景,因此通常用于事务型业务场景。

    9010

    深入解析:ElasticSearch Query 查询方式

    SQL 查询:ElasticSearch 提供了类似 SQL 的查询接口,适合习惯使用 SQL 的开发者。...在开发中,Query DSL 是主要的查询方式,它分为以下两大类:Match Queries(匹配查询):主要用于全文搜索。Term Queries(精准查询):用于精确匹配结构化数据。...must_not:必须不满足的条件(类似 NOT)。should:可选条件(类似 OR,影响匹配评分)。4. Range 查询(范围查询)Range 查询用于匹配数值、日期等范围数据。...4.2 日期范围查询查询过去 7 天的数据:GET /my_index/_search{ "query": { "range": { "timestamp": { "gte...d:按天计算。5. Aggregation 查询(聚合查询)Aggregation(聚合查询)用于对数据进行统计分析,例如求平均值、总和、分组等。

    18931

    MySQL编程规范

    基础规范 使用InnoDB存储引擎 表字符集默认使用UTF8,如果涉及到用户输入应当校验字符范围,emoji需要使用UTF8MB4 所有表都需要添加注释 单表数据量建议控制在5000W以内 不在数据库中存储图...按日期时间分表需符合YYYY[MM][DD][HH][mm][ss] 比如aaa_2016、aaa_201605、aaa_20161201、aaa_2016020123等都是可以。...,在应用中保证该逻辑的完整性。...在SQL语句中,禁止使用前缀是%的like 使⽤预编译语句,只传参数,比传递SQL语句更高效;一次解析,多次使用;降低SQL注入概率 禁止使⽤‘order by rand()’ SQL中避免出现now(...所有的建表需要确定建立哪些索引后才可以建表上线; 所有的改表结构、加索引操作都需要将涉及到所改表的查询SQL发出来告知DBA等相关人员; 在建新表加字段之前,要求研发至少要提前3天邮件出来,给DBA们评估

    1.5K10

    SQL函数 DAYOFMONTH

    但是,不会对用户提供的值进行范围检查。按照指定的方式返回大于31的数字和分数。由于(-)用作分隔符,因此不支持负数。输入上的前导零是可选的;输出上不显示前导零。...当日期部分为‘0’、‘00’或非数字值时,DAYOFMONTH返回NULL。如果完全省略日期字符串的日期部分(‘yyyy-mm hh:mm:ss’),或者如果没有提供日期表达式,也会返回NULL。...可以使用以下SQL标量函数返回日期时间字符串的元素:年、月、DAYOFMONTH(或日)、小时、分钟、秒。使用DATEPART或DATENAME函数可以返回相同的元素。...DATEPART和DATENAME对日期值执行值和范围检查。...$HOROLOG日期表达式 在计算$HOROLOG值的月份日期时,DAYOFMONTH会计算闰年差异,包括世纪日调整:2000年是闰年,1900和2100不是闰年。

    51210

    ETL和数据建模

    例如我们可以按照天将数据抽取 到准备区中,基于数据准备区,我们将进行数据的转换,整合,将不同数据源的数据进行一致性处理。数据准备区中将存在原始抽取表,一些转换中间表和临时表以 及ETL日志表等。...(四)使用调度 在对数据仓库进行 增量更新时必须使用调度(图八:pic8.jpg),即对事实数据表进行增量更新处理,在使用调度前要考虑到事实数据量,需要多长时间更 新一次,比如希望按天进行查看,那么我们最好按天进行抽取...所以SQL更适合在固定数据库中执行大范围的查询和数据更改,由于脚本语言可以随便编写,所以在固定数据库中能够实现的功能就相当强大,不像ETL中功能只能受组件限制,组件有什么功能,才能实现什么功能。...所以具体我们在什么时候使用ETL和SQL就很明显了,当我们需要多数据源整合建立数据仓库,并进行数据分析的时候,我们使用ETL。如果是固定单一数据库的数据层次处理,我们就使用SQL。...近源模型层到整合模型层的数据流算法--以源日期字段自拉链算法: 此算法是源表中有日期字段标识当前记录的生效日期,本算法通过对同主键记录按这个生效日期排序后,一次首尾相连行形成一条自然拉链的算法。

    1.1K20

    万字长文带你了解ETL和数据建模~

    例如我们可以按照天将数据抽取 到准备区中,基于数据准备区,我们将进行数据的转换,整合,将不同数据源的数据进行一致性处理。数据准备区中将存在原始抽取表,一些转换中间表和临时表以 及ETL日志表等。...4.使用调度 在对数据仓库进行 增量更新时必须使用调度(图八:pic8.jpg),即对事实数据表进行增量更新处理,在使用调度前要考虑到事实数据量,需要多长时间更 新一次,比如希望按天进行查看,那么我们最好按天进行抽取...所以SQL更适合在固定数据库中执行大范围的查询和数据更改,由于脚本语言可以随便编写,所以在固定数据库中能够实现的功能就相当强大,不像ETL中功能只能受组件限制,组件有什么功能,才能实现什么功能。...5.ETL标准算法 可划分为:历史拉链算法、追加算法(事件表)、Upsert算法(主表)及全删全加算法(参数表); 6.ETL标准算法选择 历史拉链:根据业务分析要求,对数据变化都要记录,需要基于日期的连续历史轨迹...,以保证只进那些PK未进过的数据; 26.近源模型层到整合模型层的数据流算法-以源日期字段自拉链算法 此算法是源表中有日期字段标识当前记录的生效日期,本算法通过对同主键记录按这个生效日期排序后,一次首尾相连行形成一条自然拉链的算法

    1.4K10
    领券