小编Vad*_*dim的帖子

避免全索引扫描

我使用 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_noandsalaryemp_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

mysql query-optimization

5
推荐指数
1
解决办法
5730
查看次数

如何向 useLazyQuery 添加回调

我正在做教程 - 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)

某些操作仅在第二次单击后才有效。

javascript callback graphql

1
推荐指数
1
解决办法
2192
查看次数