使用下划线而不是空格是不是有任何 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 提供任何性能提升?