开发者社区 问答 正文

为啥limit后的常量不能参数化?limit 2和limit5的执行计划都一样

为啥limit后的常量不能参数化?limit 2和limit5的执行计划都一样

展开
收起
真的很搞笑 2023-04-12 10:25:00 182 分享 版权
来自: OceanBase
2 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    在SQL中,LIMIT关键字通常用于限制返回结果集的大小。在查询中使用LIMIT时,可以指定要返回的行数。例如,使用LIMIT 2可以返回前两行,而使用LIMIT 5可以返回前五行。

    虽然LIMIT 2和LIMIT 5的执行计划可能相同,但是将LIMIT后的常量参数化可以提高代码的可维护性和安全性。使用参数化查询可以防止SQL注入攻击,因为攻击者无法通过参数传递恶意代码。此外,如果需要更改LIMIT的值,只需更改参数值而不是查询字符串,这样可以减少代码重复和错误。

    在Golang中,可以使用参数化查询来执行SQL查询。例如,使用database/sql包的Prepare和Query方法可以准备和执行参数化查询。在Angular中,可以使用HttpClient模块来发送HTTP请求,并将参数作为查询字符串或请求体的一部分发送。

    2023-04-18 10:27:24
    赞同 展开评论
  • 万一你是limit 1008611呢,此回答整理自钉群“[社区]技术答疑群OceanBase”

    2023-04-12 12:45:41
    赞同 展开评论
问答地址: