- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是一个奇怪的问题,但不知道如何研究它。执行以下查询时:
SELECT Foo.col1, Foo.col2, Foo.col3
FROM Foo
INNER JOIN Bar ON Foo.ID = Bar.BID
我倾向于使用 TableName.Column
而不仅仅是 col1, col2, col3
有什么性能差异吗?为每一列指定表名是否更快?
我的猜测是,是的,它会更快,因为查找列名并区分它需要一些时间。
如果有人知道我可以阅读的链接,我将不胜感激。我什至不知道如何更好地命名这个问题,因为不确定如何搜索它。
最佳答案
首先:这应该无关紧要。查找列的时间只占典型查询总处理时间的一小部分,因此这可能不是寻找额外性能的错误地点。
其次:Tablename.Colname
仅比 Colname
快,因为它消除了搜索引用表(和类表)的需要像 View 和子查询这样的结构)用于适合的列。同样:差异在于统计噪音。
第三:使用Tablename.Colname
是一个好主意,但还有其他原因:如果您仅使用Colname
,并且其中之一查询中的表获得一个具有相同名称的新列,您最终会遇到众所周知的“列名不明确”错误。这种专栏的典型候选人通常是“评论”、“上次更改”和 friend 。如果您限定您的 col 引用,这个可维护性问题就会消失 - 您的查询将一如既往地工作,忽略新字段。
关于mysql - 选择 TableName.Col1 VS 选择 Col1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16532610/
1) "select * from `union` WHERE `thanaId`='$thana_id'" // it's working VS2) "select * from union
我的 SQL Server 2005 数据库中的某些表被命名为 lu.[TableName] 而不是 dbo.[TableName]。卢代表什么? 注意:我已经试过谷歌了 最佳答案 这将是 SQL S
我是使用 typescript 的新手,我正在使用 typescript 和 postgres 开发 API NodeJS。 我正在使用 docker 到 postgres,并且我有以下 docker
这个问题在这里已经有了答案: 关闭 13 年前。 Possible Duplicates: Select * vs Specifying Column Names Which is faster/b
我正在用 PHP PDO 编写一个用户注册函数,我发现我的查询只有这样写才能正常运行: setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION
我正在使用 JPA,我需要将“tableName”设为一个变量。 在数据库中,我有很多表,我的代码需要访问我指定要读取的表。 @Entity @Table(name = "tableName") pu
我关注了这个YouTube tutorial首先尝试使用无服务器框架开发无服务器 rest api。它给出了 MissingRequiredParameter 的错误并将初始化的表名称设置为未定义。
这个问题在这里已经有了答案: MySQL: NULL vs "" (12 个答案) MySQL, better to insert NULL or empty string? (6 个答案) 关闭
我目前正在学习 hibernate,无法从 oracle 获取数据。非常感谢任何帮助。 请找到下面的配置文件、pojo类和main方法... hibernate .cfg.xml
我的应用程序中有一个 JDBCAppender,我想为其设置 main argument lookup 中的 tableName 参数。 。原因是我的数据库表可以选择有一个前缀,所以我从应用程序中的配
您好,我正在尝试创建一个通用方法来从数据库中读取数据。这是我目前所拥有的: private static void GetData(string tableName, string key, stri
我通过一个网站和 html 5 视频标签,在家里制作了一个供个人使用的“电影”数据库,我轻松完成了该数据库,它包括一个索引页,列出了数据库中的所有电影,然后单击一个会将您链接到一个页面,该页面将在 h
我的 table 有这个问题。我想删除它但不起作用 我尝试删除 de .ibd 文件,他们将一些 frm 文件重命名为与 te ibd 相同的名称来删除表,但不起作用 当我删除表,然后再次创建它时,它
我在Windows 2008服务器上使用MySQL 5.1版本。当我执行以下查询时: SELECT * FROM tablename; It is taking too much time for f
最近我将一个 MySQL 数据库从一台服务器复制到另一台服务器。同时我已经从 Master DB 中清除了许多行。所以一段时间后复制正确完成。我验证了两个数据库中的数据计数,它是相同的。 之后,我只是
我正在编写一个锁定表的 MySQL 查询: "LOCK TABLE table_1 WRITE" 之后我执行了一些函数,在其中一个函数中,我在另一个我没有锁定的表上执行另一个查询: "SELECT *
我正在编写一个锁定表的 MySQL 查询: "LOCK TABLE table_1 WRITE" 之后我执行了一些函数,在其中一个函数中,我在另一个我没有锁定的表上执行另一个查询: "SELECT *
我想创建数据库并使用 Entity Framework ,但是当我运行我的 wpf 项目时,出现此错误。 2 个表出现此错误。在这里,我的错误: using (var c = new RSPDbCon
最好的方法是什么? 尝试过这样的事情: public String FormatColumnName(String columnName) { String formatedColumnNam
我在网上找不到这个问题的答案(可能是因为google不喜欢特殊字符),这种形式的查询是什么意思? Select tableName.* FROM tableName 我会说这就像 Select * f
我是一名优秀的程序员,十分优秀!