多行“;“双重”;mysql/sql中的表
这是“dual”表概念的扩展(为一个查询动态创建临时表,然后立即丢弃) 我正在尝试将一个多行多行“;“双重”;mysql/sql中的表,mysql,optimization,Mysql,Optimization,这是“dual”表概念的扩展(为一个查询动态创建临时表,然后立即丢弃) 我正在尝试将一个多行dual表与另一个表连接起来,以避免使用1语句使用不同的参数多次运行同一查询 我遇到的一个问题是,双表的联合速度非常慢,我不知道有什么更有效的方法来完成以下任务。(将50个双通道连接在一起时为100 ms) 有没有其他方法可以实现这个目标 是否有任何类似于insert into values语句的语法可以实现该目标,例如: SELECT unid, id FROM ( WI
dual
表与另一个表连接起来,以避免使用1语句使用不同的参数多次运行同一查询
我遇到的一个问题是,双表的联合速度非常慢,我不知道有什么更有效的方法来完成以下任务。(将50个双通道连接在一起时为100 ms)
有没有其他方法可以实现这个目标
是否有任何类似于insert into values语句的语法可以实现该目标,例如:
SELECT
unid,
id
FROM
(
WITH (unid, date) USING VALUES
(
('b8518a84-c501-11dd-b0b6-001d7dc91168','2010-01-05'),
('b853a1f2-c501-11dd-b0b6-001d7dc91168','2010-01-06'),
('b8557bd0-c501-11dd-b0b6-001d7dc91168','2010-01-07'),
/* ... */
)
) as a
join other_table b
ON
b.ref_unid = a.unid
我正在寻找一种一对一的解决方案。不可能多次访问数据库。据我所知,MySQL中没有其他约定可以在一条语句中构造派生表。如果处理的是单个列,则在~50个值时,可以将其转换为在子句中使用
性能最好的方法是将数据加载到一个或多个表单的表中——在MySQL中,为了临时使用,我建议使用内存引擎。对于大约50个元组,我想知道为什么数据库中没有数据…我编写的API允许传递元组列表并返回每个元组的对象列表。由于传入的元组数通常在10-50左右,因此我试图避免调用一个查询50次,只需更改几个参数。我尝试使用multiple-IN语句,但它不使用任何现有的索引,这与上面的方法不同,除了双表的并集之外,这种方法速度非常快。
SELECT
unid,
id
FROM
(
WITH (unid, date) USING VALUES
(
('b8518a84-c501-11dd-b0b6-001d7dc91168','2010-01-05'),
('b853a1f2-c501-11dd-b0b6-001d7dc91168','2010-01-06'),
('b8557bd0-c501-11dd-b0b6-001d7dc91168','2010-01-07'),
/* ... */
)
) as a
join other_table b
ON
b.ref_unid = a.unid