困擾已久的效率問題.看過jive熟悉模式的老大們進..
就拿我們的J道論壇做例子
在列貼子主題列表處顯示格式為
---------------------------------
貼名 發貼者
xxxxxxx xxxx
---------------------------------
貼子主題 資料庫結構為
---------------------------------
貼名(threadName) 發貼者(userID)
varchar(255) int(9)
---------------------------------
注意,這裡為了程式檢索效率,我使用的不是發貼者使用者名稱儲存的,而是使用發貼使用者ID儲存(int型)
同時我做了User類,該類在例化後呼叫.getName()方法返回使用者名稱
這個User類必定在呼叫getName()方法的時候會執行一次select句子來取得返回結果
比如
User my = new User(userID);
String name=my.getName();
那麼這時肯定有個 select * from user where id=userID
然後把User類的變數賦值,比如使用者名稱,使用者性別,註冊時間等等
那麼,問題來了
我在列主題貼的時候,一頁顯示50條主題
比如就是
thread.列主題(50);
User author;
while(thread.Next()){
out.print("貼名:"+thread.getThreadName());
out.print("使用者ID:"+thread.userID());
//問題從這裡開始出現
author=new User(thread.userID());
out.print("使用者名稱:"+author.getName());
}
當然,這個程式是可以執行的,但我在列主題的時候,為了取得使用者名稱,不得不一次一次的new User(thread.userID())然後用getName()方法來取得使用者名稱,這樣肯定要一次一次的執行select * from user..這樣的句子,也就是說我列一次顯示50條主題就要執行51條sql句子...
不知道我這樣說大家是否明白,不知道這個問題應該如何解決?
謝謝各位!
在列貼子主題列表處顯示格式為
---------------------------------
貼名 發貼者
xxxxxxx xxxx
---------------------------------
貼子主題 資料庫結構為
---------------------------------
貼名(threadName) 發貼者(userID)
varchar(255) int(9)
---------------------------------
注意,這裡為了程式檢索效率,我使用的不是發貼者使用者名稱儲存的,而是使用發貼使用者ID儲存(int型)
同時我做了User類,該類在例化後呼叫.getName()方法返回使用者名稱
這個User類必定在呼叫getName()方法的時候會執行一次select句子來取得返回結果
比如
User my = new User(userID);
String name=my.getName();
那麼這時肯定有個 select * from user where id=userID
然後把User類的變數賦值,比如使用者名稱,使用者性別,註冊時間等等
那麼,問題來了
我在列主題貼的時候,一頁顯示50條主題
比如就是
thread.列主題(50);
User author;
while(thread.Next()){
out.print("貼名:"+thread.getThreadName());
out.print("使用者ID:"+thread.userID());
//問題從這裡開始出現
author=new User(thread.userID());
out.print("使用者名稱:"+author.getName());
}
當然,這個程式是可以執行的,但我在列主題的時候,為了取得使用者名稱,不得不一次一次的new User(thread.userID())然後用getName()方法來取得使用者名稱,這樣肯定要一次一次的執行select * from user..這樣的句子,也就是說我列一次顯示50條主題就要執行51條sql句子...
不知道我這樣說大家是否明白,不知道這個問題應該如何解決?
謝謝各位!
相關文章
- 怎麼傳送超大檔案?困擾已久的郵件大附件傳送問題解決了!
- 困擾軟體行業發展的真正問題是什麼?行業
- 關於 Locust 建立 Task 的疑問,困擾了好久,路過的幫忙看下。
- 想轉行遇到刷題困擾
- 困擾Chrome使用者多年的大問題,終於要解決了!Chrome
- 細數這些年被困擾過的 TS 問題
- MySQL 8.0能徹底解決困擾運維的複製延遲問題!MySql運維
- 困擾javascript初學者的閉包JavaScript
- 解決了一個困擾我近一年的vim顯示中文亂碼的問題
- [提問交流]函式大神看過來。最好老大過來看下啊,搞不定。函式
- scanf的回車干擾問題
- CSA主席:安全是雲端計算更進一步的困擾
- Android一種常見的佈局困擾Android
- Redux 的困擾與如何技術選型Redux
- 熟悉面試中常見的的 web 安全問題面試Web
- 那些年,我們處理過的SQL問題SQL
- 資料切片,掩碼索引,這個陷阱困擾過你嗎?索引
- leetcode力扣 2024. 考試的最大困擾度LeetCode力扣
- Go 1.18 泛型的一些技巧和困擾Go泛型
- 面試時如何擺脫嘴笨帶來的困擾?能力表達正在摧毀我們的前途面試
- 次世代主機載入時間過短會帶來什麼樣的困擾?
- 稽核未過、疫情困擾,為了活下去,他們決定免費釋出這款國產遊戲遊戲
- 這樣給小白講原碼、反碼、補碼,幫她徹底解決困擾了三天的問題
- 蘋果的無縫銜接,正在為其造成困擾?蘋果
- 那些年,我們見過的 Java 服務端“問題”Java服務端
- 關於CSDN廣告打擾閱讀的問題
- 研發團隊溝通困難 誰的問題?
- 過多if - else 的問題, 以及策略模式 + 反射解決方法模式反射
- Java 序列化界新貴 kryo 和熟悉的“老大哥”,就是 PowerJob 的序列化方案Java
- 解決Python執行命令時路徑空格引發的困擾Python
- [開源精品] .NET Redis Client 又多了一個選擇,還在被 StackExchange.Redis Timeout 問題困擾嗎?Redisclient
- 【UX本地化】超框問題:遊戲本地化的“老大難”?UX遊戲
- YouGov:43%的美國人看過《我們的朋友》預告片後打算看正片Go
- 雙埠SRAM中讀干擾問題
- 私有化部署chatGPT,告別網路困擾ChatGPT
- 排除在 Laravel-admin 使用 Vue 時,Pjax 干擾的問題LaravelVue
- 巴爾的摩市已被加密貨幣勒索軟體困擾兩週加密
- 幽默:程式設計中困難的不是解決問題,而是確定要解決的問題 - Paul程式設計
- 知乎問題:如何說服技術老大用 Redis ?Redis