我使用 MySQL 员工的测试数据库 - 测试数据库 我想优化查询
SELECT emp_no, SUM(salary)
FROM salaries
WHERE from_date < '1999-01-01'
group by emp_no;
Run Code Online (Sandbox Code Playgroud)
查询费用:287790
哪些索引可以帮助我?
我尝试使用emp_noandsalary和emp_noand创建索引from_date,但没有结果。有一个完整的扫描索引。
也尝试使用OVER(PARTITION BY)代替GROUP BY
SELECT emp_no, SUM(salary) OVER (PARTITION by emp_no)
FROM salaries
WHERE from_date < '1999-01-01';
Run Code Online (Sandbox Code Playgroud)
OVER例如,避免完整索引扫描或使用GROUP BY
我正在做教程 - https://www.apollographql.com/docs/react/data/queries/使用懒惰的 graphQL。我有一个功能,可以让我通过单击按钮获取数据,并对服务器进行延迟查询。我将匿名函数包装起来并放到 onClick 按钮上。你能帮我在 getDog 的回调中添加另一个函数,在 useLazyQuery 完成后添加一些动作。
const [getDog, { loading, data }] = useLazyQuery(GET_DOG_PHOTO);
Run Code Online (Sandbox Code Playgroud)
我试过
const [getDog, { loading, data }] = {
useLazyQuery(CUSTOM_GQL);
return // some actions with data and return;
}
Run Code Online (Sandbox Code Playgroud)
不编译
<button onClick={
() => {
getDog();
return // some actions
}
}
Run Code Online (Sandbox Code Playgroud)
某些操作仅在第二次单击后才有效。