我目前正在開發一款遊戲,而前一段時間我開始着手加載和保存。MySQL - 保存和加載
我一直在想,但我真的不能決定,因爲我不知道哪個更有效率。
我的第一個選項: 當用戶註冊時,只有一條記錄被插入(到'字符'表中)。當用戶嘗試登錄時,並且在他/她成功完成之後,服務器將嘗試加載用戶的所有信息(跨多個表單獨分開,並通過mysql'LEFT JOIN'進行組合),但它會運行所有的信息,並將它們應用到實體實例,如果它運行到NULL(這意味着信息不在數據庫中),它會自動使用默認值。 保存時,它會插入或更新,以便在加載時生成的任何默認值現在將被保存。
我的第二個選項: 只需在註冊時插入所有必需的行(註冊完成後從網站插入行)。
下降到第一個選項:無用的檢查用戶是否已經登錄一次,因爲所有表將在首次登錄後生成。
上升到第一個選項:如果刪除表中的任何記錄,它將插入默認數據而不是踢選手,說它的字符信息已損壞/丟失。
第二種選擇的缺點:它可能會浪費一點內存,因爲所有的表格都是在註冊時插入的,並且可能會有垃圾郵件機器人以及甚至無法上網的人。
上升到第一個選項:我們不必檢查服務器中的任何東西。
我還注意到,第一個選項可能會搞砸任何搜索系統(通過admincp,如果我們嘗試查找特定用戶)。
你會提供一些關於你在談論什麼樣的信息的細節嗎?哪些數據來自這些其他表格? – ErikE 2010-01-16 19:36:55