• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MySQL - optymalizacja zapytania iloczynu kartezjańskiego

HackNation - ogólnopolski hackathon
0 głosów
1,835 wizyt
pytanie zadane 24 marca 2017 w SQL, bazy danych przez hoktaur Pasjonat (22,250 p.)
Witam

Mamy tabele:

id | name

1 | jeden

2 | dwa

itd

Czy jest możliwy bardziej optymalny sposób zapisu iloczynu kartezjańskiego tej samej tabeli:

SELECT * FROM tabela, tabela, tabela

jeszcze to jest wygląda w miarę OK ale problem się zaczyna gdy tabela jest generowana z innych tabel np.:

SELECT * FROM

(SELECT * FROM tabela t LEFT JOIN tabeladodatkowa td ON t.id = td.id),

(SELECT * FROM tabela t LEFT JOIN tabeladodatkowa td ON t.id = td.id),

(SELECT * FROM tabela t LEFT JOIN tabeladodatkowa td ON t.id = td.id)

już nie wygląda to OK, chociaż wydaje mi się ze te zapytania o generowaną tabele są cache'owane to i tak zmiana w jednym zapytaniu pociąga zmianę w innych liniach.

Pytanie jest proste czy jest możliwość to zoptymalizować?

1 odpowiedź

0 głosów
odpowiedź 24 marca 2017 przez jeremus Maniak (59,720 p.)

Nie jestem pewien czy mysql łyka sładnię z  with ( ćwiczone w mssql )

wygląda to tak :

WITH tab as (SELECT * FROM  tabela t left join tabeladodatkowa td on t.id=td.id)
select * from tab,tab

 

komentarz 24 marca 2017 przez hoktaur Pasjonat (22,250 p.)

Tu napisali że niestety nie jak cytuje

MySQL doesn't support the WITH clause (CTE in SQL Server parlance; Subquery Factoring in Oracle), so you are left with using:

  • TEMPORARY tables
  • DERIVED tables
  • inline views (effectively what the WITH clause represents - they are interchangeable)

Podobne pytania

0 głosów
2 odpowiedzi 1,424 wizyt
0 głosów
1 odpowiedź 495 wizyt
pytanie zadane 25 maja 2017 w SQL, bazy danych przez Q_Nick Mądrala (5,010 p.)
0 głosów
1 odpowiedź 364 wizyt
pytanie zadane 9 kwietnia 2020 w SQL, bazy danych przez wsnofi Bywalec (2,680 p.)

93,628 zapytań

142,551 odpowiedzi

323,051 komentarzy

63,133 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1936p. - dia-Chann
  2. 1916p. - DziarnowskiJ
  3. 1886p. - Łukasz Piwowar
  4. 1841p. - raydeal
  5. 1840p. - Adrian Wieprzkowicz
  6. 1640p. - CC PL
  7. 1616p. - Maurycy W
  8. 1588p. - Tomasz Bielak
  9. 1521p. - Michal Drewniak
  10. 1491p. - Rafał Trójniak
  11. 1471p. - rafalszastok
  12. 1444p. - robwarsz
  13. 1257p. - ssynowiec
  14. 1223p. - rucin93
  15. 1208p. - Mariusz Fornal
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...