pok*_*ate 0 sql sql-server join
可能重复:
何时以及为何数据库加入昂贵?
我的公司给了我一份提高数据库性能的工作.早期的开发人员编写了一个有5个内连接的查询.
在不损害性能的情况下可以使用的内连接数是多少?
在特定情况下,JOIN可以比替代品更好地执行.并且在标准化数据库中看到许多连接并不罕见.
JOIN并不总是必要的 - 如果表格的JOIN之外没有引用,EXISTS或者IN表现更好.例如:
SELECT a.column
FROM TABLE_A a
JOIN TABLE_B b ON b.col = a.col
Run Code Online (Sandbox Code Playgroud)
... VS:
SELECT a.column
FROM TABLE_A a
WHERE EXISTS(SELECT NULL
FROM TABLE_B b
WHERE b.col = a.col)
Run Code Online (Sandbox Code Playgroud)
如果结果集需要连接,则评估情况:
是否需要JOIN功能的任何连接标准都可以使用.IE:
JOIN table x ON DATE(x.col) = y.column
Run Code Online (Sandbox Code Playgroud)
...因为这样的情况会使索引x.col无用
非正规化数据可能是一种性能优势,但这是经过大量审查和测试后最后考虑的选择.
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |