Bulk/batch 使用 JPA/Native 查询在 MySql 中搜索
Bulk/batch search in MySql using JPA/Native query
我有一个 MySQL 数据库 table,其中包含 1000 万个实体。我必须搜索具有多个参数的实体。
示例:
select * 来自 result_table where roll=12345 and reg=6789 and exam='ABC';
我正在寻找一种有效的方法来使用 JPA 或使用单个查询或任何其他优化选项的本机查询来批处理实体搜索。
示例:
select * from result_table where roll=1234 and reg=1234 and exam='ABC';
select * from result_table where roll=1234 and reg=1234 and exam='DEF';
select * from result_table where roll=2222 and reg=3333 and exam='XYZ';
Mysql IN 运算符无法解决我的问题,因为 roll 和 reg 在不同的考试中可能相同。谢谢。
请试试这个,
创建table
create table Test(id integer,roll integer, reg integer, exam varchar(100));
插入记录
insert into Test(id,roll,reg, exam) values(1,1234,1234, "ABC");
insert into Test(id,roll,reg, exam) values(1,1234,1234, "DEF");
insert into Test(id,roll,reg, exam) values(1,2222,3333, "XYZ");
select查询
select * from Test where CONCAT(roll,reg,exam) in ('12341234ABC','12341234DEF','22223333XYZ');
我有一个 MySQL 数据库 table,其中包含 1000 万个实体。我必须搜索具有多个参数的实体。 示例:
select * 来自 result_table where roll=12345 and reg=6789 and exam='ABC';
我正在寻找一种有效的方法来使用 JPA 或使用单个查询或任何其他优化选项的本机查询来批处理实体搜索。 示例:
select * from result_table where roll=1234 and reg=1234 and exam='ABC';
select * from result_table where roll=1234 and reg=1234 and exam='DEF';
select * from result_table where roll=2222 and reg=3333 and exam='XYZ';
Mysql IN 运算符无法解决我的问题,因为 roll 和 reg 在不同的考试中可能相同。谢谢。
请试试这个,
创建table
create table Test(id integer,roll integer, reg integer, exam varchar(100));
插入记录
insert into Test(id,roll,reg, exam) values(1,1234,1234, "ABC");
insert into Test(id,roll,reg, exam) values(1,1234,1234, "DEF");
insert into Test(id,roll,reg, exam) values(1,2222,3333, "XYZ");
select查询
select * from Test where CONCAT(roll,reg,exam) in ('12341234ABC','12341234DEF','22223333XYZ');