sql >> Databasteknik >  >> RDS >> Mysql

MySQL &kapslad uppsättning:långsam JOIN (använder inte index)

Ah, det föll mig precis.

Eftersom du frågar efter allt i tabellen, bestämmer mysql att använda en fullständig tabellskanning istället, eftersom den anser att det är mer effektivt.

För att få lite nyckelanvändning, lägg till några filter för att begränsa letandet efter varje rad i alla tabeller ändå.

Uppdaterar svar:

Din andra fråga är inte vettig. Du lämnas att gå med i lca men du har ett filter i det, detta förnekar den vänstra anslutningen av sig själv. Du letar också efter data i det sista steget i frågan, vilket innebär att du måste titta igenom alla lt, lc och lca för att hitta din data. Du har heller inget index med kolumntyp längst till vänster på platser, så du behöver fortfarande en fullständig tabellskanning för att hitta dina data.

Om du hade några exempeldata och exempel på vad du försöker uppnå skulle det kanske vara lättare att hjälpa.



  1. Rails, PostgreSQL och History Triggers

  2. Mysql-fallet fungerar inte

  3. INSERT med SELECT

  4. Stäng av begränsningar tillfälligt (MS SQL)