2013-04-08 70 views
0

我正在爲體育館的私人教練開發一款應用程序來跟蹤其客戶的鍛鍊。它的工作方式基本上分爲兩組。可能的Web應用程序數據庫性能問題

有一些練習,非常簡單,只是名稱,描述,集合,代表和體重。然後是程序,這是培訓師分配給客戶的一系列練習。

一旦培訓師分配一個程序,他會選擇一個開始日期和結束日期,這就是客戶端顯示的內容。所以說教練從4/8到4/13分配一個練習A,B和C的程序。目標是讓客戶每天標記每項練習,以追蹤他們所做的事情。所以他們可能只是在4/9上練習A和C,但是在4/10中全部練習3。

我遇到的問題是,它意味着它必須爲每個客戶端的每個練習編寫一行,當教練/客戶端數量增加時,這可以增加很多行。

我正在與之合作的開發人員擔心這可能會導致性能問題,但長話短說,他們也很可能正在解決問題以收取更多時間/小時。

他們問我是否有解決方案,所以我問了幾個似乎不認爲會導致問題的朋友。

所以是的,一個非常長的囉嗦描述所有問如果你認爲這樣的事情會是一個Web應用程序的問題。

回答

0

好的。首先,我把這種類型的問題稱爲「很好的」問題,如果最終出現問題(假設您對服務使用收費),那麼您已經贏了!

具有適當索引的現代關係數據庫可以處理數百萬行數據而沒有問題。我懷疑你的開發者正在欺騙你或者不知道他們在做什麼。任何領域的專業人士都不應該向外行尋求解決方案。這是我會做的:
1)讓他們列出他們正在計劃使用的查詢,表結構和任何指數。將這些發佈在這裏,有人可以很容易地指出他們所做的任何明顯的缺陷。
2)讓他們用測試行填充表格,以達到您認爲數量較高的數量。讓他們分析他們的查詢。如果他們給你任何麻煩,走開。

+1

永不歸於由愚蠢性充分解釋的惡意。 – 2013-04-08 18:26:41

+0

@JoeFrambach確實!接得好。 – GHC 2013-04-08 18:28:45

+0

我同意,這將是一個很好的問題!感謝您的詳細回覆/建議。我會建議這個,看看他們說什麼。我非常感謝幫助! – fullOfQuestions 2013-04-08 18:58:01

0

不,您可以輕鬆處理100k行。

數據庫模式必須設計良好,所有表格的索引都正確。 使用的是InnoDB作爲存儲引擎是一個很好的選擇,因爲這樣可以節省一些頭痛的維護表的完整性外鍵的支持(即客戶端被刪除,那麼他所有的練習可能會被刪除。)

上實現分頁所有頁面以避免顯示太多的行。