我正在優化我的一些查詢,並且我有一個查詢指出: select * from SC where c_id =「+ c_id」 ** SC **的模式看起來像這樣:索引問題:使用WHERE子句選擇*。在哪裏以及如何創建索引
SC ( c_id int not null, date_start date not null, date_stop date not null, r_t_id int not null, nt int, t_p decimal, PRIMARY KEY (c_id, r_t_id, date_start, date_stop));
我上應創建的索引是如何在這個順序覆蓋索引即時競價:
INDEX(c_id, date_start, date_stop, nt, r_t_id, t_p)
這樣做的原因爲了我立足於:
的其中CLA使用c_id中的選擇,從而使其成爲第一個排序順序。 接着,DATE_START和date_stop到指定排序的「範圍」,在這些參數 接着被定義,NT因爲它會選擇NT 接着r_t_id,因爲它是爲特定類型的我的r_t表的ID 最後是t_p,因爲它只是一個信息。
我不知道當它是一個SELECT ALL語句時,是否有必要以特定方式對它進行排序。 我應該說,那個SC不是最大的桌子。我可以說,有多少行包含但估計可能是<和1000
接下來的事情之間10補充說明的是,該SC,在不同的查詢,將數據插入的SC,和我知道有插入表的索引可能會導致成本低,但是我能否以某種方式創建一個有效實現這種性能的金色中端方法。
不知道它是否有不同,但我使用IBM DB2版本9.7數據庫
真誠
Mestika