Portál AbcLinuxu, 26. července 2025 04:35


Dotaz: mysql preformance

30.5.2011 18:06 shlax
mysql preformance
Přečteno: 263×
Odpovědět | Admin
ako sa da v mysql optimalicovat toto ako jeden select :
select * from osoba where id in ( select id from osoba group by meno having count(id) > 1 );

ked v takto dostenem vysledok skoro okamzite

create table tmp engine=memory select id from osoba group by meno having count(id) > 1;
SELECT * FROM osoba where id in (select id from tmp);
drop table tmp;


Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.5.2011 18:09 shlax
Rozbalit Rozbalit vše Re: mysql preformance
Odpovědět | | Sbalit | Link | Blokovat | Admin
vyriesene
30.5.2011 19:16 l4m4
Rozbalit Rozbalit vše Re: mysql preformance
Toto není řešení dotazu.
31.5.2011 16:38 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mysql preformance
Bylo by slušné sem napsat, jak to bylo vyřešeno – pro kohokoli, kdo bude mít podobný problém.
1.6.2011 16:39 shlax
Rozbalit Rozbalit vše Re: mysql preformance
musite to dat do from namiesto where potom subselect vykonava len raz:
select a.* from osoba a join ( select id from osoba group by meno having count(id) > 1 ) b  on a.id = b.id;
1.6.2011 17:52 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: mysql preformance
Díky.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.