ďťż
 
(MYSQL) INSERT INTO (table) SELECT * i transakcje ďťż
 
(MYSQL) INSERT INTO (table) SELECT * i transakcje
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

(MYSQL) INSERT INTO (table) SELECT * i transakcje



Paweł Janosz - 28-02-2007 00:07
(MYSQL) INSERT INTO (table) SELECT * i transakcje
  Witam,
do wypełniania nowej czystej tabeli stosuje składnie
INSERT INTO (table) SELECT ....
ale tak naprawdę chciałbym zapytać o transakcje...albo o funkcjonalność...

Zastanawiam się dlaczego rekordy pojawiają się dopiero po zakończeniu
działania selecta, który np. działa godzinę lub dwie.
Chciałbym by on po prostu dodawał kolejne rekordy w czasie rzeczywistym.

czy to bardziej sprawa transakcji, czy po prostu takiej obsługi poniekąd
zagniezdzonego selecta.
A jeśli transakcji - to można ją jakoś wyłączyć przed tą komendą a później
włączyć.
Tabele są MyISAM....

Paweł
--





Maciek Dobrzanski - 28-02-2007 00:07

  In news:es1a1a$812$1@atlantis.news.tpi.pl,
Paweł Janosz <pawel@expert.wroc.pl> wrote:

> do wypełniania nowej czystej tabeli stosuje składnie
> INSERT INTO (table) SELECT ....
[..]
> Zastanawiam się dlaczego rekordy pojawiają się dopiero po zakończeniu
> działania selecta, który np. działa godzinę lub dwie.
[..]
> A jeśli transakcji - to można ją jakoś wyłączyć przed tą komendą a
> później włączyć.
> Tabele są MyISAM....

Jeśli MyISAM to nie transakcje. Natomiast taki efekt powstaje
najprawdopodobniej w wyniku optymalizacji operacji masowego wstawiania.
Dane/statystyki tabeli nie są uaktualniane przy każdym wpisanym wierszu, a
dopiero po zakończeniu operacji. W związku z tym nie ma do nich zwyczajnie
dostępu z poziomu innych wątków (taki luźny wniosek na podstawie tego co
pamiętam, może nie do końca prawdziwy). Oczywiście to przy włączonym trybie
współbieżności INSERT/SELECT na MyISAM, w przeciwnym razie SELECT będzie tak
czy siak czekał na zakończenie operacji INSERT.

Maciek




=?iso-8859-2?Q?Jaros=B3aw_Szatkiewicz?= - 01-03-2007 00:00

  Siemanko, mysle, ze zastosowanie EXPLAIN duzo wyjasni :)

"Paweł Janosz" <pawel@expert.wroc.pl> napisał(a):
> Witam,
> do wypełniania nowej czystej tabeli stosuje składnie
> INSERT INTO (table) SELECT ....
> ale tak naprawdę chciałbym zapytać o transakcje...albo o
> funkcjonalność...
>
> Zastanawiam się dlaczego rekordy pojawiają się dopiero po zakończeniu
> działania selecta, który np. działa godzinę lub dwie.
> Chciałbym by on po prostu dodawał kolejne rekordy w czasie rzeczywistym.
>
> czy to bardziej sprawa transakcji, czy po prostu takiej obsługi poniekąd
>
> zagniezdzonego selecta.
> A jeśli transakcji - to można ją jakoś wyłączyć przed tą komendą a
> później
> włączyć.
> Tabele są MyISAM....
>
> Paweł
> --




Artur Muszynski - 01-03-2007 00:00

  Paweł Janosz wrote:
> Witam,
> do wypełniania nowej czystej tabeli stosuje składnie
> INSERT INTO (table) SELECT ....
> ale tak naprawdę chciałbym zapytać o transakcje...albo o
> funkcjonalność...
> Zastanawiam się dlaczego rekordy pojawiają się dopiero po zakończeniu
> działania selecta, który np. działa godzinę lub dwie.
> Chciałbym by on po prostu dodawał kolejne rekordy w czasie
> rzeczywistym.
> czy to bardziej sprawa transakcji, czy po prostu takiej obsługi
> poniekąd zagniezdzonego selecta.
> A jeśli transakcji - to można ją jakoś wyłączyć przed tą komendą a
> później włączyć.
> Tabele są MyISAM....

W MyISAM transakcji nie ma, ale atomowość pojedynczych poleceń SQL jest
zachowana (na szczęście!). Wyłączyć się tego afaik nie da.

artur





Maciek Dobrzanski - 01-03-2007 00:00

  In news:es3itr$681$1@mx1.internetia.pl,
Artur Muszynski <arturm@union.wytnijto.com.pl> wrote:

> W MyISAM transakcji nie ma, ale atomowość pojedynczych poleceń SQL
> jest zachowana (na szczęście!). Wyłączyć się tego afaik nie da.

Nie do końca jest to prawdą jakoby ;) Nad czym zresztą Depesz niedawno
ubolewał.

Maciek




Artur Muszynski - 01-03-2007 00:01

  Maciek Dobrzanski wrote:
> In news:es3itr$681$1@mx1.internetia.pl,
> Artur Muszynski <arturm@union.wytnijto.com.pl> wrote:
>
>> W MyISAM transakcji nie ma, ale atomowość pojedynczych poleceń SQL
>> jest zachowana (na szczęście!). Wyłączyć się tego afaik nie da.
>
> Nie do końca jest to prawdą jakoby ;) Nad czym zresztą Depesz niedawno
> ubolewał.

Hmm, no to przeoczyłem jakąś ciekawą dyskusję :-(

artur




Yanks - 01-03-2007 01:02

  Serdeczne dzieki za odpowiedz.
Pewno to i lepiej ze działa za jednym razem.
Bolało mnie po prostu że zapytanie sql które działa kilka godzin - musi tyle
bo wstawiam
miliony rekordów do nowej tabeli - nie daje żadnych znaków zycia. Aż nie
skończy.

Nie wymagam by był jakiś progressbar :) ale może ktoś podpowie albo poda
jakiś link...

Jeszcze raz dzieki.

ps. czy ja dobrze zrozumiałem na MyIsam INSERT INTO tabela from tabela2,
zablokuje mi tabele2 az zapytanie nie wykona sie do konca?
Wiec lepsze Inno ale wtedy pod Windowsem mogę mieć jeden plik z bazą danych,
i znowu się sprawa komplikuje bo chciałbym mieć logi miesięczne w
oddzielnych tabelach,
w oddzienych plikach...hmmmm

Pawel




Maciek Dobrzanski - 02-03-2007 00:05

  "Yanks" <pawel.janosz@expert-monitor.pl> wrote in message
news:es585v$cmk$1@news.dialog.net.pl...

> ps. czy ja dobrze zrozumiałem na MyIsam INSERT INTO tabela from tabela2,
> zablokuje mi tabele2 az zapytanie nie wykona sie do konca?

Dla zapisu, tak.

> Wiec lepsze Inno ale wtedy pod Windowsem mogę mieć jeden plik z bazą
> danych,
> i znowu się sprawa komplikuje bo chciałbym mieć logi miesięczne w
> oddzielnych tabelach,
> w oddzienych plikach...hmmmm

W InnoDB INSERT ... SELECT generuje shared locki, czyli w zasadzie
zachowanie bazy będzie podobne jak w przypadku MyISAM. A co do drugiego,
odpowiednią opcją możesz wymusić na InnoDB wykorzystanie osobnego pliku na
każda tabelę, zamiast współdzielonej przestrzeni.

Maciek




Paweł Janosz - 02-03-2007 00:06

  cut
> odpowiednią opcją możesz wymusić na InnoDB wykorzystanie osobnego pliku na
> każda tabelę, zamiast współdzielonej przestrzeni.
>
> Maciek

Instrukcja mysql kiedyś mówila ze pod Windą, nie można tego zrobić, coś się
zmieniło????
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL [mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • wawa19wwa91.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com