首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从命令行优化MySQL查询

从命令行优化MySQL查询
EN

Stack Overflow用户
提问于 2021-02-24 17:15:32
回答 1查看 34关注 0票数 0

我想优化一些MySQL查询。

我正在使用knex在我的应用程序中构造查询。使用toSQL(),我可以获得如下格式的SQL:

代码语言:javascript
复制
{
   sql: 'SELECT * FROM Table WHERE id = ?',
   bindings: [1]
}

我的问题是,优化这些查询的最佳方法是什么?如果我将sql复制到命令行中,以便与一起使用EXPLAIN,我需要一种绑定参数的方法。我怎样才能做到这一点呢?

或者,有比使用MySQL外壳检查优化器的查询计划更好的工具吗?

编辑:我只是将查询复制到文本编辑器中,并手动提供所有参数绑定。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-25 21:46:46

我已经编写了一个小的js方法来完成绑定

代码语言:javascript
复制
function prepareStatment(obj) {
  let i = 0;
  const sql = obj.sql.replace(/\?/g, () => JSON.stringify(obj.bindings[i++]));
  copy(sql); // works only if you run it in chromes console.
  return sql;
}

prepareStatment({
   sql: 'SELECT * FROM Table WHERE id = ?',
   bindings: [1]
}) // will return `SELECT * FROM Table WHERE id = "1"`

注意-此方法在生产环境中使用不安全

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66347862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档