加入到相同的父表我有一個包含用戶信息和映射到用戶表與用戶ID的簽名表中的用戶表,如下面減小值的在MySQL
users userid | firstname | lastname 1 | John | P 2 | Pete | C 3 | Tim | D
signs doneBy | CheckedBy | VerifiedBy 1 | 2 | 3
是否有一個更好的方式來做到這一點,而不是多個如下連接, 考慮到我會有6個這樣的連接
select concat(usr1.firstname, ' ', usr1.lastname) as doneby, concat(usr2.firstname, ' ', usr2.lastname) as checkedby, concat(usr3.firstname, ' ', usr3.lastname) as verifiedby from signs sgn join users usr1 on (usr1.userid = sgn.doneBy) join users usr2 on (usr2.userid = sgn.checkedBy) join users usr3 on (usr3.userid = sgn.verifiedBy)
你爲什麼在意?你的桌子上有幾百萬行嗎? –
你是什麼意思,你在乎什麼? A)學習和B)總是更好地使用盡可能少的資源! @DirkHorsten – sagi
你的時間來編程也是一種資源,更重要的是你的後繼者有時間瞭解它是一種資源。 Sagi的回答得到了我的讚賞,但是如果所有表格的行數少於一百,那麼寫入它的成本就超過了執行你的行爲的成本。然後我建議不要使用它。 –