4
是否有所述語法Active Record的「連接」方法背後有什麼?
"Game.joins(:round).where('rounds.league_id = 1')"
和
"Game.joins(:round).where(:rounds => {:league_id => 1})"
第一個之間的差產生的查詢:
Game Load (7.5ms)
SELECT "games".*
FROM "games" INNER JOIN "rounds" ON "rounds"."id" = "games"."round_id"
WHERE (rounds.league_id = 1)
而第二產生較長的一個:
SQL (1.7ms)
SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"rounds"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Game Load (8.8ms)
SELECT "games".*
FROM "games"
INNER JOIN "rounds" ON "rounds"."id" = "games"."round_id"
WHERE "rounds"."league_id" = 1
在此先感謝大家,我剛剛加入社區,這是我的第一個問題