Pytanie: czy wykonując zapytanie

SELECT a.x, b.y

FROM a

JOIN b ON a.klucz=b.klucz

WHERE a.warunek=1

najpierw jest robiony

JOIN
, a dopiero potem filtrowanie względem pola

a.warunek
czy może na odwrót - najpierw filtrowana jest tabela

a
, a dopiero na podstawie otrzymanych wyników wykonywany jest

JOIN
? Co w przypadku, gdybym zmienił filtr na

b.warunek=1
?

#kiciochpyta #komputery #bazydanych #mysql #innodb
@rss: @jubal

EXPLAIN EXTENDED pokaze Ci dokladnie jak wyglada zapytanie po przejsciu przez optymalizatora.Tak wiec to co sobie napiszesz to jedno, a to co zrobi z tego optymalizator to drugie

http://dev.mysql.com/doc/refman/5.0/en/explain-extended.html

MySQL ponizej 5.6 nie radzi sobie za dobrze z optymalizacja podzapytan - moze sie zdarzyc ze subquery bedzie wykonane dla kazdego rekordu z zapytania nadrzednego, nawet jesli to subquery za kazdym razem zwroci ten sam wynik

http://www.iheavy.com/2013/06/26/mysql-subquery-optimization/?utm_source=feedburne
Próbuję zaimportować tabelę do MS Accessa z mojego serwera MySQL. Daję import z ODBC, wybieram interesującą mnie tabelę i przy próbie łączenia dostaję błąd: Nieudane wywołanie ODBC. Sprawdzam więc na innej tabeli i import jest pomyślny (dlatego wnioskuję, że sterownik ODBC jest dobrze skonfigurowany). Sytuacja wygląda tak, że niektóre tabele przechodzą a niektóre nie, nie wiem od czego to może zależeć. Sprawdzałem uprawnienia i jak dla mnie to wszystko jest ok. Testowałem
#php #mysql #programowanie Nie mogę sobie poradzić z prostym zapytaniem do bazy danych:

Działa:

$select = "SELECT

nazwa
from

Zespoly
";

$zespoly = mysqlquery($select) or die("Zapytanie niepoprawne");

Nie działa:

$select = "SELECT

nazwa
from

Zespoly
where litera == 'A'";

$zespoly = mysql
query($select) or die("Zapytanie niepoprawne");

Jakich cudzysłowów mam używać, żeby było poprawnie? Próbowałem już chyba wszystkiego.
#wydajnosc #mysql #programowanie #serwery

Potrzebuję wykonać aplikację, która będzie operowała na bazie 1 MLN rekordów, każdy rekord ~100 bajtów ,więc cała baza około 100 MB. Czy przy takiej ilości muszę bawić się w jakąś optymalizację, vpsy, podział na mniejsze tabele? Ilość rekordów nie będzie rosła, do tego będą utworzone indeksy. Operacje wykonywane na bazie to selecty z where, grupowaniami, funkcje sumujące itd (np. sum(wartosc) - sumowanie z miliona rekordów). Wymaganie w czasie
Chodzę sobie ostatnio na rozmowy o pracę na programistę php i temu podobne, na początku wszystko pięknie, pokazuje zrealizowane projekty, wszystko ładnie, a później dostaję "test" do napisania na kartce - kilka otwartych pytań i tu zaczyna się moja tragedia. Czarna dziura. Cos co przed komputerem napisałbym od ręki w minutę sprawia mi trudność. Albo jeszcze lepiej, robie te trudniejsze, a przy banalnych się zawieszam. Przykład? Miałem zadanie z relacyjną bazą danych
#pytaniedoeksperta #php #mysql #trudnesprawy

Mam kłopot z kodem :-/ i proszę o pomoc :-)

`php<br/
$wklej[1] = 'Zammiennik pierwszy';

$wklej[2] = 'Zammiennik drugi';

$wklej[3] = 'Zammiennik trzeci';

$string = 'Lorem ipsum dolor sit amet, [wklej=1] consetetur sadipscing elitr, sed diam nonumy eirmod [wklej=2] tempor invidunt ut labore et dolore [wklej=3] magna aliquyam erat, sed diam voluptua.';

$tablica = preg_match_all("#[wklej=\d\]#si", $string, $matches);

for($i=0; $i
{

$string = str_replace($matches[0][$i], $wklej[$i], $string);

}

echo $string;
Rozwiązanie dla ciekawych:

$txt = 'Lorem ipsum dolor sit amet, [foto id="97" size="small"] consetetur sadipscing elitr, sed diam nonumy eirmod tempor [foto id="143" size="big"] invidunt ut labore et dolore magna [foto id="139" size="big"] aliquyam erat, sed diam voluptua.';

$tablica = preg_match_all('#[foto id="(.*?)" size="(.*?)"\]#si', $txt, $matches);

$comma_separated = implode(",", $matches[1]);

$res = @mysql_query('SELECT id, img FROM foto WHERE id IN ('.$comma_separated.') ORDER BY FIELD(

id

, '.$comma_separated.') ASC;');

$i=0;

while( $row =