假设我有两个相同行数的表。两个表都包含一个允许在它们之间进行1-1连接的列。
如果将这些表转换为一个表,从而从查询中删除JOIN
语句,那么这会有什么性能优势吗?
另一个例子......假设我有10列的表格。从那张桌子我创建了新表,但只有一列。如果我发出语句选择同一列中带有WHERE
谓词的一列,那么在两个表上执行此查询会有任何性能差异吗?
我想要达到的目标是,如果在上述情况下性能相同,那么可以说桌子只是将列数包装在一起的容器吗?
我确实进行了几项测试,但结果并不确定。
答案 0 :(得分:3)
假设我有两个相同行数的表。两个表 包含一个允许在它们之间进行1-1连接的列。如果那些 表被转换为一个表而不是JOIN语句 从查询中删除,是否会有任何性能优势 是什么?
为每个查询执行该连接当然比实现表一次然后读取它更昂贵。所以是的,会有性能优势。
另一个例子......我们假设我有10列的表格。从 那个表我创建了新表但只占了一列。如果我发出 语句选择与WHERE谓词相同的一列 列执行此操作会有任何性能差异 查询两个表?
不,没有区别,因为表格被表示为列的集合,每个列都存储在自己的文件中。
我想要的是在上述情况下性能是否相同 可以说表格只是包装数量的容器 列在一起?
确实可以说是安全的。