使用下划线而不是空格是不是有任何 sql 性能提升?

Posted

技术标签:

【中文标题】使用下划线而不是空格是不是有任何 sql 性能提升?【英文标题】:Is there any sql performance gain for using underscores instead of spaces?使用下划线而不是空格是否有任何 sql 性能提升? 【发布时间】:2011-06-24 21:50:28 【问题描述】:

在查询中使用下划线代替带空格的单词是否有潜在的速度提升?

例如,在名为“label”的列中搜索“specific_label”与“specific label”?

【问题讨论】:

一个字符是一个字符,是一个字符... ;) 没有。它是“%20”。 (去掉引号) 顺便说一句,这是另一个问题。我很想通过说“不”来获得更多声誉:) 是的,我知道那个答案(我相信这就是我认为它会影响 SQL 查询的原因),但我一直在寻找 OMG Ponies 关于“字符就是字符”的响应"。 他是对的。我的答案也是如此。但是解释为什么 %20 是一个字符需要一个新问题:) 提示:答案与编码有关 【参考方案1】:

没有。

【讨论】:

嗯,这一个是/否的问题! 这是真的!有趣的是,我们无缘无故地认为是真的事情。我很高兴我问了。谢谢。 总是乐于助人! (我平时的状态) SO 中有一个名为 Downvoter Step into the Light 的用户(或类似名称)。我喜欢这样。【参考方案2】:

没有。像 SQL Server 这样成熟的系统不会处理带有空格和不同于其他字符的标识符。

【讨论】:

是的,我错过了一个“an”......或者应该是一个“a”......前往English.stackexchange【参考方案3】:

并非如此,但这样做还有其他好处。

    并非每个 DBMS 都支持列名使用空格 -> 迁移会更容易 您的 SQL 查询使用更少的引号 -> 更好的可读性和更少的错误

【讨论】:

感谢您的回复,我指的是列值,而不是名称。【参考方案4】:

当然不是。这就像在问,“如果我将列称为 'fname' 而不是 'firstname',性能会有所提高吗?”

名称就是名称,无论您使用什么字符,查询的执行速度都一样快

【讨论】:

感谢您的回复,我指的是列值,而不是名称,但无论如何答案似乎都是一样的。

以上是关于使用下划线而不是空格是不是有任何 sql 性能提升?的主要内容,如果未能解决你的问题,请参考以下文章

在javascript中对一堆if()else if()使用switch语句是不是有任何性能提升? [复制]

Graphql 是不是比 Rest API 提供任何性能提升?

关于 SQL 查询复杂性与性能是不是有任何一般规则?

PHP一直显示“数组”而不是[字符串]

使用 memset 初始化整数数组而不是像 array[10]=0 这样的默认零初始化是不是有任何性能优势?

删除不必要的命名空间(使用)指令是不是有性能提升?