ďťż
 
MySQL - co zamiast COUNT ďťż
 
MySQL - co zamiast COUNT
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 - co zamiast COUNT



Darek - 16-11-2006 00:22
MySQL - co zamiast COUNT
  Witam,
dzis od mojego providera dostalem info, ze niktore zapytania SQL zbyt
obciazaja baze, m.in jest takie zapytanie:

SELECT count(id) AS ile FROM tab_ WHERE czy_zablokowane = 0;

id (INT)- klucz glowny,
czy_zablokowane (INT) - index

tabela aktualnie ma ok 5000 rekordow

prosze o podpowiedz co w tym zapytaniu jest nie tak, ze wg providera
przeciaza serwer?

Pozdr.
D.





Grzegorz Danowski - 16-11-2006 00:22

  Użytkownik "Darek" <dszymanski@autograf.pl> napisał w wiadomości
news:ejejdp$2g9$1@news.onet.pl...
> Witam,
> dzis od mojego providera dostalem info, ze niktore zapytania SQL zbyt
> obciazaja baze, m.in jest takie zapytanie:
>
> SELECT count(id) AS ile FROM tab_ WHERE czy_zablokowane = 0;
>
> id (INT)- klucz glowny,
> czy_zablokowane (INT) - index
>
> tabela aktualnie ma ok 5000 rekordow
>
> prosze o podpowiedz co w tym zapytaniu jest nie tak, ze wg providera
> przeciaza serwer?

Skoro taka operacja na tak małej tabelce zabija system, to może warto
pomyśleć o zmianie providera? A może to sprawdzanie wykonujesz non stop?
Grzegorz




Maciek Dobrzanski - 16-11-2006 00:22

  > dzis od mojego providera dostalem info, ze niktore zapytania SQL zbyt
> obciazaja baze, m.in jest takie zapytanie:

Może wyłapują zapytania nie korzystające z indeksów, które powtarzają się
nazbyt często. To co podałeś ma spore szanse takim być z uwagi na
potencjalnie niską selektywność klucza(`czy_zablokowane`).

Maciek




herakles - 16-11-2006 00:22

  Darek wrote:

> Witam,
> dzis od mojego providera dostalem info, ze niktore zapytania SQL zbyt
> obciazaja baze, m.in jest takie zapytanie:
>
> SELECT count(id) AS ile FROM tab_ WHERE czy_zablokowane = 0;
>
> id (INT)- klucz glowny,
> czy_zablokowane (INT) - index
>
> tabela aktualnie ma ok 5000 rekordow
>
> prosze o podpowiedz co w tym zapytaniu jest nie tak, ze wg providera
> przeciaza serwer?
>
> Pozdr.
> D.

1) Niech zgadnę, home badziew?
2) Na id podejrzewam jest primary key.
Zrób explaina potem załóż index na polu czy_zablokowane i jeszcze raz zrób
explaina.





Artur Muszynski - 16-11-2006 00:22

  herakles wrote:
>> SELECT count(id) AS ile FROM tab_ WHERE czy_zablokowane = 0;
> 1) Niech zgadnę, home badziew?

W czym winne home, że robi statystyki długo trwających zapytań? Wszyscy
admini ostrzegają klientów w takich sytuacjach, a jak nie pomoże, to dla
dobra ogółu nawet zrywają umowę.

> Zrób explaina potem załóż index na polu czy_zablokowane i jeszcze raz
> zrób explaina.

Raczej bym poszedł tropem Maćka - najprawdopodobniej indeks na
czy_zablokowane i tak zostanie olany. Prędzej eksperymentowałbym z indeksem
typu (czy_zablokowane,id), ale najlepiej osobna tabela (zablokowane (id)).

artur




herakles - 16-11-2006 00:23

  Artur Muszynski wrote:

> herakles wrote:
>>> SELECT count(id) AS ile FROM tab_ WHERE czy_zablokowane = 0;
>> 1) Niech zgadnę, home badziew?
>
> W czym winne home, że robi statystyki długo trwających zapytań? Wszyscy
> admini ostrzegają klientów w takich sytuacjach, a jak nie pomoże, to dla
> dobra ogółu nawet zrywają umowę.
W tym, że upychają setki serwisów na jednej maszynce i to nadaje się tylko
do statycznych zabawek. Problemu z countem na 5000 rekordów bez indeksów to
nie miałem na PII. Fakt trzeba se robić takie statsy, ale 503 to zdeczka
przesada. Tam maszynki są tak przeciążone, że usmażysz na nich jajecznice!

>
>> Zrób explaina potem załóż index na polu czy_zablokowane i jeszcze raz
>> zrób explaina.
>
> Raczej bym poszedł tropem Maćka - najprawdopodobniej indeks na
> czy_zablokowane i tak zostanie olany. Prędzej eksperymentowałbym z
> indeksem typu (czy_zablokowane,id), ale najlepiej osobna tabela
> (zablokowane (id)).
>
> artur

Explain Ci odpowie.




herakles - 16-11-2006 00:23

  Grzegorz Danowski wrote:

> Użytkownik "Darek" <dszymanski@autograf.pl> napisał w wiadomości
> news:ejejdp$2g9$1@news.onet.pl...
>> Witam,
>> dzis od mojego providera dostalem info, ze niktore zapytania SQL zbyt
>> obciazaja baze, m.in jest takie zapytanie:
>>
>> SELECT count(id) AS ile FROM tab_ WHERE czy_zablokowane = 0;
>>
>> id (INT)- klucz glowny,
>> czy_zablokowane (INT) - index
>>
>> tabela aktualnie ma ok 5000 rekordow
>>
>> prosze o podpowiedz co w tym zapytaniu jest nie tak, ze wg providera
>> przeciaza serwer?
>
> Skoro taka operacja na tak małej tabelce zabija system, to może warto
> pomyśleć o zmianie providera? A może to sprawdzanie wykonujesz non stop?
> Grzegorz

Otóż właśnie.
  • 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
  • czterowers.keep.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