sql >> Databasteknik >  >> RDS >> Oracle

Sammanfogningsvillkor på flera kolumner kontra enkel sammanfogning på sammanlänkade kolumner?

Jag tror att versionen med sammanlänkning praktiskt taget alltid kommer att vara långsammare.

Om någon av kolumnerna du jämför individuellt har index, kommer databasen normalt att kunna använda indexen för att optimera sammanfogningen. När du jämför sammanlänkningar måste den utföra fullständiga tabellskanningar, eftersom resultatet av en beräkning inte kommer att finnas i indexet.

Och även om kolumnerna inte är indexerade kan databasen fortfarande utföra jämförelserna mer effektivt. Den jämför ett par kolumner åt gången och kan stoppa så snart en av dessa jämförelser misslyckas. När du använder sammanlänkningen måste den först kombinera alla kolumner, i båda raderna, och sedan göra en strängjämförelse.

Slutligen, om någon av kolumnerna är numeriska, kommer sammanlänkningen att kräva ytterligare steget att konvertera numret till en sträng.



  1. Hur kan jag ställa in sökvägen för heroku postgresql-appen?

  2. Hämta ConnectionString från app.config i c#

  3. Hur upptäcker jag om Oracle-databasen stöder automatisk ökning?

  4. Kan jag SSH till MySQL med GUI-verktygen?