2012-04-04 95 views
1

最近我們對我們的mysql服務器有很多問題,我一直在使用profiler(JetProfiler)和stresstester(loadUI)進行一些測試。我已經注意到,至少有20個連接在同一時間使用loudUI運行後,它已經無法連接或連接到網頁。 Jetprofiler說,我們運行的每一個查詢都很缺乏,因爲他們都使用全表掃描,我想知道這是否真的會成爲問題。防止全表掃描簡單查詢

這裏有可能獲取運行最查詢的截圖:

enter image description here

我怎麼會提高呢?基準,webid和actief:

+2

確保您在'datum' /'webid'列上使用索引。 – Minras 2012-04-04 07:53:01

+0

它是一個rootserver嗎?或者一個正常的網絡空間?我認爲這個問題在ServerFault上更好。 – Stony 2012-04-04 07:53:02

+0

它是一個專用的服務器,服務器只運行我們的mysql數據庫沒有其他的東西 – Holapress 2012-04-04 07:53:57

回答

1

只爲以下幾列創建單一指標

create index idx_datum on nieuws(datum); 
create index idx_webid on nieuws(webid); 
create index idx_actief on nieuws(actief); 

這應該在此查詢的性能更好屈服。

+1

'actief'的索引毫無意義,其他兩個都很好。 – 2012-04-04 08:25:58

+0

@ N.B。爲什麼?在where子句中使用'actief'。 – 2012-04-04 08:49:28

+1

@Salman A - 低指數基數? – 2012-04-04 09:05:59