2009-06-15 42 views
2

我正在構建一個PHP/MySQL應用程序,用戶可以登錄並搜索媒體資產。他們還可以保存搜索並創建Lightbox(資產集合)。最後,他們可以創建用戶組。立即查詢並保存到會話或多次?

更有意義的是,在登錄時一次全部查詢所保存搜索,燈箱和組的ID,並將它們保存在會話變量中?或者在他們第一次打到適當的頁面時執行查詢?我正在尋找效率,會議似乎要走,但我忽略了什麼?

回答

5

最大的規則:只有把你的會議需要什麼

我不認爲這將是明智的,在所有一次全部,因爲你把你的會話需要的一切會議在不需要的地方有很多事件。用戶可能無法保持足夠長的時間來利用其中的所有數據,因此您只是浪費時間和資源將其放在那裏。

將您的信息按需放入(當它們進入需要該信息的每個頁面時)。

總是保持你的會議對象整潔,苗條,你的表現會感謝你。

+0

很高興我問了!感謝你的回答。 – lynn 2009-06-15 13:27:12

3

在登錄時查詢所有信息是一個糟糕的主意。首先它會降低登錄速度,第二,它爲您的SQL服務器創建每個登錄名的靜態工作負載。

如果您在適用的情況下進行查詢,則會有不同的負載。 (即使您稍後緩存結果)

此外,如果您將結果存儲在會話中,那麼您將增加用於該用戶的每個請求的內存。

對於您的特定網站有很多好的東西,但我們需要更多的數據才能更好地回答。

0

僅查詢您需要什麼以及何時需要。

如果查詢登錄和用戶數據和登錄出現問題,那麼查詢的其餘部分將不被使用:

短的例子,證明所有在一個查詢是錯誤的。