2011-08-27 38 views
-1

我原來有一個頁面運行了60個MySQL查詢,這顯然是有缺陷的。該頁面需要幾秒鐘才能加載。所以我將代碼更改爲一個MySQL查詢,並使用php會話/數組來排列60個結果。現在頁面加載速度更快,但是我想知道這種方式比MySQL更好,設計明智嗎?我有一個在while循環(60循環)中設置的遞增會話,每個會話都包含一個數組,然後我將它排序。多個MySQL查詢與多個PHP會話

+1

有60個查詢是不明智的,使用會話來處理它肯定不是很好。 – yoda

+0

「這種方式比mysql更好,性能明智嗎?」不,你表示通過一個查詢加載頁面的速度更快。你真的在問什麼? – titaniumdecoy

+0

聽起來像很多複製粘貼。你能收集所有的結果並在1個查詢中對它們進行排序嗎? – AndrewR

回答

1

都是壞的尤達也說

你必須移動在完全不同的方向:

  1. 明智地減少查詢數量。有60個查詢沒有什麼不好,一個頁面可以擁有它,仍然在幾秒鐘內加載。但刪除不必要的東西將是明智之舉。
  2. 優化查詢運行時。確定哪個查詢運行慢和優化,通過使用DESC query查詢(或更確切地說explain extended + show warnings),使用索引和這樣

這是不可能的多說對於這樣的模糊的問題與例如

不是一個單一的查詢
+1

有了mysql,我認爲最好推薦使用explain擴展而不是desc。 – gview

+0

@gview地獄我應該已經知道這一點。非常感謝 –

0
  1. 減少查詢次數。
  2. 優化查詢性能。
  3. 如果不使用會話,請使用memcache或APC。會議不是爲此目的而製作的。