1
A
回答
5
不,他們不是。
查詢引擎甚至沒有看到它們(它們只出現在計劃的註釋中)。
執行查詢時,引擎根據查詢計劃處理實際的物理對象(表,索引等)。
當查詢說是這樣的:
SELECT *
FROM mytable t
,優化創建一個類似的計劃:
|--Clustered Index Scan(OBJECT:([mydb].[dbo].[mytable].[pk_mytable] AS [t]))
和查詢引擎解釋是像「找到的第一頁索引pk_mytable
並遍歷頁面的鏈接列表,返回找到的所有記錄,直到沒有更多記錄「。
在這個階段,你怎麼確定別人的查詢並不重要:引擎處理像頁面,指針等物理對象,而不是像別名這樣的邏輯事物。
1
它們不是更快,但它們確實使代碼更易於閱讀。它們對於某些事物是必需的,例如當您多次連接到一個表以及使用派生表時。
我發現總是使用別名並在select中別名所有列,以便維護人員無需弄清楚每個字段在六個月後出現在複雜查詢中的哪個表。
相關問題
- 1. ActiveRecord表別名
- 2. 別名表情
- 3. MySQL表別名
- 4. T-SQL表名別名
- 5. 不是唯一的表/別名:表名
- 6. 更改SQL服務器快速表名
- 7. 比UIButton更快嗎?
- 8. 訪問別名表
- 9. 在bash中命名管道比普通管道更快嗎?
- 10. 更改表的別名運行時ServiceStack.OrmLite
- 11. 在QuerySet中分配表別名名稱
- 12. COUNT(fld)比COUNT(*)更快嗎?
- 13. `map`比`each`更快嗎?
- 14. 「startsWith」比「indexOf」更快嗎?
- 15. MATLAB比Python更快嗎?
- 16. 類比CssClass更快嗎?
- 17. 包含比StartsWith更快嗎?
- 18. LINQ比ADO更快嗎?
- 19. GENERATE SERIES比SUBQUERY更快嗎?
- 20. 尋找別名列表
- 21. MySQL - 不唯一表/別名
- 22. 所有PHP別名列表
- 23. 從Zend_Db_Table_Select獲取表別名
- 24. ActiveRecord中的表別名?
- 25. PL/SQL表和列別名
- 26. 結果集的表別名
- 27. SQL - 表別名範圍
- 28. SubSonic中的表別名
- 29. 與表的別名在MySQL
- 30. 表的多個別名
它們的輸入速度更快:)因爲這個原因我總是使用它們並減少代碼膨脹。 – AdaTheDev 2010-11-02 12:29:01