原住民族考試四等考試-電子工程類科計算機概要105 年第 3 題單選題
有關關聯式資料庫(relational database)系統中查詢最佳化(query optimization)的敘述,下列何者錯誤?
A查詢最佳化是系統分析使用者輸入的 SQL 查詢句,找出最有效率的執行策略
B查詢最佳化是使用者根據經驗,輸入最有效率的 SQL 查詢句正確答案
C估算一個查詢句的成本花費(cost)與系統維護的表格之大小有關
D查詢中若有包含連結運算(JOIN operation),因必須處理兩個表格,所以通常比選擇運算(SELECT operation)還要費時
B正確答案
查詢最佳化是 DBMS 自動分析 SQL 並選擇最佳執行計畫,不是使用者的工作。
為什麼答案是 B
錯誤(本題要選)。查詢最佳化是「系統自動」執行的,不是靠使用者經驗。SQL 是宣告式語言,使用者只需描述「要什麼」,「怎麼做」由 DBMS 決定。
載入中…
完整詳解
Pro · 無限重點 查詢最佳化是 DBMS 自動分析 SQL 並選擇最佳執行計畫,不是使用者的工作。
看到「使用者根據經驗輸入」就知道錯!最佳化是系統自動做的。
逐選項分析
A✕
正確。查詢最佳化器 (Query Optimizer) 會分析 SQL 語句,產生多種執行計畫並估算成本,選擇最低成本的執行策略。
B✓ 正確
錯誤(本題要選)。查詢最佳化是「系統自動」執行的,不是靠使用者經驗。SQL 是宣告式語言,使用者只需描述「要什麼」,「怎麼做」由 DBMS 決定。
C✕
正確。成本估算會參考表格大小(資料筆數、頁數)、索引、選擇率等統計資訊,表格越大掃描成本越高。
D✕
正確。JOIN 需處理兩個或多個表格的組合(可能產生笛卡兒積再篩選),運算量遠大於單表的 SELECT,通常較費時。
查詢最佳化核心概念
| 項目 | 執行者 | 依據 | 目的 |
|---|
| 查詢最佳化 | DBMS 系統 | 統計資訊、成本模型 | 找最低成本執行計畫 |
| SQL 撰寫 | 使用者 | 業務需求 | 描述要查什麼 |
| 成本因素 | 系統計算 | 表格大小、索引、JOIN 方式 | 估算 I/O 與 CPU |
B 選項把「系統自動最佳化」偷換成「使用者根據經驗輸入」。SQL 是宣告式語言的精髓就在於:使用者不需懂執行細節,最佳化交給 DBMS。這是關聯式資料庫的核心優勢。