我正在使用pg
gem與Ruby進行PostgreSQL交談。有沒有 更好的方法來檢查是否沒有結果比使用res.ntuples == 0
?是否有更簡潔的方法來檢查PGResult是否爲空?
conn = PGconn.connect config
cmd = "select * from labels inner join labels_mail using(label_id) " +
"where labels_mail.mail_id = $1 and labels.name = $2"
res = conn.exec(cmd, [mail_id, mailbox])
if res.ntuples == 0 # <=== is there a better way to check this?
cmd = "insert into labels_mail (mail_id, label_id) values ($1, $2)"
conn.exec(cmd, [mail_id, label_id(mailbox)])
end
只是作爲小費,我*高度*推薦使用[續](http://sequel.rubyforge.org/)ORM寶石在Postgres或MySQL,或幾乎任何其他數據庫。它允許您使用原始SQL或數據集,或充當與ActiveRecord類似的全面建模ORM。 – 2011-04-20 02:19:45
謝謝。但出於性能方面的原因,我想保持與金屬的接近。我用最少的開銷啓動時間來寫東西。我嘗試過積極的記錄方法,而且啓動時間遠遠不夠。 – dan 2011-04-20 16:23:01