java JDBC查询异常,statement查询不出来结果数据,prepareStatement可以

Viewed 32

示例代码:
981b4631ece8fe862286ed7f2e91895.png
运行结果
54ed2c6f863770ba113ea11ae5ce9ab.png
集群版本
6dcd80b8bcada1854e0c40ef0d97a30.png
建表操作方式如下:

drop table if exists dws.`jx_dws_study_law_knowledge_graph_unique_ed_day_20240828_new`;
CREATE TABLE dws.`jx_dws_study_law_knowledge_graph_unique_ed_day_20240828_new` (
  `sys_id` SMALLINT NULL COMMENT '项目id',
  `user_id` BIGINT NULL COMMENT '用户id',
  `batch_id` BIGINT NULL COMMENT '批次id',
  `ob_unique` BIGINT NULL COMMENT '客观题做题唯一量',
  `ob_knowledge_graph_unique` BIGINT NULL COMMENT '客观题知识图谱做题唯一量',
  `su_unique` BIGINT NULL COMMENT '主观题做题唯一量',
  `su_big_unique` BIGINT NULL COMMENT '主观题大案例做题唯一量',
  `su_small_unique` BIGINT NULL COMMENT '主观题小案例做题唯一量',
  `su_part_case_unique` BIGINT NULL COMMENT '纯案例速练唯一量 a.mock_type = 1 AND a.not_practice IN (1) AND a.status = 3 AND a.is_delete = 1',
  `su_satisfy_big_unique` BIGINT NULL COMMENT '达标主观题大案例做题唯一量',
  `su_case_unique` BIGINT NULL COMMENT '案例题唯一量',
  `su_satisfy_part_case_unique` BIGINT NULL COMMENT '达标纯案例速练唯一量a.mock_type = 1 AND a.not_practice IN (1) AND a.status = 3 AND a.is_delete = 1'
)
UNIQUE KEY(`sys_id`, `user_id`, `batch_id`)
COMMENT 'OLAP'
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1,tag.location.default: 2",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"store_row_column" = "true"
);

insert into dws.`jx_dws_study_law_knowledge_graph_unique_ed_day_20240828_new` values(5,2,612,1112,6001,151,122,434,987,162,66,55),
(5,1111165140,612,1112,6001,151,122,434,987,162,66,55
)
1 Answers
  1. 行存: 用户可以在 Olap 表中开启行存模式,但是需要额外的空间来存储行存。目前的行存实现是将行存编码后存在单独的一列中,这样做是用于简化行存的实现。行存模式仅支持在建表的时候开启,需要在建表语句的 property 中指定如下属性:"store_row_column" = "true"

  2. 为了减少 SQL 解析和表达式计算的开销,我们在 FE 端提供了与 MySQL 协议完全兼容的PreparedStatement特性(目前只支持主键点查)。当PreparedStatement在 FE 开启,SQL 和其表达式将被提前计算并缓存到 Session 级别的内存缓存中,后续的查询直接使用缓存对象即可。当 CPU 成为主键点查的瓶颈,在开启 PreparedStatement 后,将会有 4 倍 + 的性能提升。

如果开启了行存建议和PreparedStatement一起使用。