🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #194962

Re: wolne select count(*)

#194962
From: Robert Winkler
Date: Sat, 21 May 2016 07:39
31 lines
2296 bytes
W dniu 20.05.2016 o 21:17, Borneq pisze:
> Zapuściłem select count(*) na mySQL, aby zobaczyć jak długo potrwa
> pobranie danych, ale samo select count(*) wciąż się wykonuje.
> Dlaczego to tak długo trwa? rozumiem że np. distinct by trwało długo,
> ale podanie ilości rekordów?

Witaj w klubie
Mam dokładnie to samo u siebie :(
Przy czym serwer stoi u mnie w firmie a nie na jakimś hostingu
i wiem że nikt inny w tym czasie niczego nie robi z moją tabelą.

Mam tabele, niedużą, jakieś 28 milionów rekordów,
780 MB z danymi plus jakieś 300MB na indeksy,
engine InnoDB bo muszę mieć transakcje gdy zmieniam te dane.
Wołam zapytanie:
select count(*) from `moja_tabela` where `created_at` > '2014-05-01'
i czekam kilka minut na odpowiedź serwera.
Nie ważne, że na tabeli mam indeks zawierający tylko kolumnę created_at
dla mysql'a nie ma to żadnego znaczenia
i w niczym to nie przyspiesza jego działania.

Praca z mysql'em jest czasem naprawdę frustrująca,
szczególnie, że kilka lat temu pracowałem w projekcie
gdzie serwerem był MS SQL Server, a baza miała kilkanaście terabajtów.
Gdy wtedy count(*) trwał ponad 100 ms
to był to znak że coś jest nie tak z bazą
(przykładowo engine używa złego indeksu
bo się statystyki rozjechały po batch loadingu)

-- 
Robert
Technical Details
Message-ID: <574010af$0$22836$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <nhnns7$en$1@node2.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: wolne select count(*)
Newsgroups: pl.comp.bazy-danych
References: <nhnns7$en$1@node2.news.atman.pl>
From: Robert Winkler <noone@nowhere.org>
Date: Sat, 21 May 2016 09:39:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0
MIME-Version: 1.0
In-Reply-To: <nhnns7$en$1@node2.news.atman.pl>
Lines: 31
Message-ID: <574010af$0$22836$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 89-77-112-103.dynamic.chello.pl
X-Trace: 1463816367 unt-rea-a-02.news.neostrada.pl 22836 89.77.112.103:58456
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit