看板 PHP 關於我們 聯絡資訊
我有一個情況是這樣的. 在某個擁有多值的欄位中利用特定的分隔符號作區隔, 比如說是作者欄位, 此欄位中有一位以上作者, 作者與作者間用特定符號分開 因此欄位的值會長成類似 John#Mary#Joe 這樣. 為了要統計作者數, 在程式端我先把各個作者單獨取出來, 再重新parsing回一個暫存的資料庫以利統計. 程式的內容大略是這樣: ------------------------------------- $drop = 'DROP TABLE temp'; mysql_query($drop); $create = "CREATE TABLE temp ( " . "Author char(100) NOT NULL, KEY Author (Author))"; mysql_query($create); mysql_query("LOCK TABLES temp WRITE"); //中間為parsing的動作 mysql_query("UNLOCK TABLES"); ------------------------------------- 整個執行的過程沒有什麼問題, 但因為資料量較龐大.. 在執行上, 也就是說從 取出多值->寫入暫存DB->output 的過程, 速度不太理想. 因此想請教一下, 無論是在DB的設計上, 或是程式的寫法上, 是否有更合適的作法以增進執行的效率呢? 謝謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.58.76.130
lichihwu:加一個欄位用來記錄作者數,或者直接把作者數放在第一格: 10/14 10:58
lichihwu:如 2#Mary#John 10/14 10:58
lichihwu:就不必常常算啦~ 10/14 10:59
KennyL:這個方法可能行不通,因為作者數不固定說 10/14 18:08