abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 5
včera 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
včera 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 25
včera 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 10
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 5
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 60
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 675 hlasů
 Komentářů: 61, poslední dnes 13:06
Rozcestník
Reklama

Dotaz: MySQL - Poddotaz pomalejší než samostatné dotazy

14.1.2009 18:30 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
MySQL - Poddotaz pomalejší než samostatné dotazy
Přečteno: 532×
Mám problém u tabulky s 16000 řádků s poddotazy. Když např spustím dotaz
SELECT f.*
  FROM jos_fi_firms AS f

  WHERE id IN(
SELECT MAX(id)
  FROM jos_fi_firms AS f

  LEFT JOIN jos_fi_spec_firm AS sf
  ON f.id=sf.firm_id

  WHERE f.state=1
  AND (LOWER(f.title) LIKE '%xx%'
  AND LOWER(f.region) LIKE '%%' OR LOWER(f.district) LIKE '%%' OR LOWER(f.city) LIKE '%%' OR LOWER(f.city_part) LIKE '%%')

  GROUP BY f.ico, f.title
)

  ORDER BY f.title

Tak se mi nikdy nedokončí, protože dříve vyprší doba běhu PHP skriptu, když dám ale každý z těchto dotazů samostatně, tak mi skončí skoro okamžítě.

EXPLAIN mi vypíše něco takového:

1 	PRIMARY 	f 	ALL  	NULL  	NULL  	NULL  	NULL 	16004 	Using where; Using filesort
2 	DEPENDENT SUBQUERY 	f 	ALL 	NULL 	NULL 	NULL 	NULL 	16004 	Using where; Using temporary; Using filesort
2 	DEPENDENT SUBQUERY 	sf 	ref 	PRIMARY 	PRIMARY 	[BINARY - 1B] 	xxx.f.id 	1 	Using index


Druhý problém mám s dotazem
SELECT @uid:=IFNULL(u.id,0) AS id, IFNULL(u.name,0) AS name,
@max_date:=(SELECT IFNULL(MAX(s.date),'0000-00-00')
  FROM jos_fi_stats AS s

  WHERE s.user_id=@uid) AS max_date,
(SELECT COUNT(*)
  FROM jos_fi_firms AS f

  WHERE f.edited_by=@uid
  AND f.date>@max_date) AS cnt

  FROM jos_fi_firms AS f

  LEFT JOIN jos_users AS u
  ON f.edited_by=u.id

  GROUP BY f.edited_by

Na 16000 řádcích tabulky jos_fi_firms taky nikdy nedojede. Když spustím tento dotaz s EXPLAIN, tak mi to vypíše něco takového:

id 	select_type 	table 	type 	possible_keys 	key 	key_len 	ref 	rows 	Extra
1 	PRIMARY 	f 	ALL 	NULL 	NULL 	NULL 	NULL 	16004 	Using temporary; Using filesort
1 	PRIMARY 	u 	eq_ref 	PRIMARY 	PRIMARY 	[BINARY - 1B] 	xxx.f.edited_by 	1 	 
3 	UNCACHEABLE SUBQUERY 	f 	ALL 	NULL 	NULL 	NULL 	NULL 	16004 	Using where
2 	UNCACHEABLE SUBQUERY 	s 	system 	NULL 	NULL 	NULL 	NULL 	0 	const row not found

Nevíte někde, kde můžu mít chybu?Nebo jak ty dotazy zoptimalizovat? Doteď jsem si myslel, že nejlepší optimalizace je pomocí poddotazů, ale proč v prvním případě když použiju poddotazy, tak je dotaz nekonečný, zatímto když je spustím každý z těch dotazů samostatně, tak jsou hotové skoro okamžitě?

Předem děkuji za vaše rady

Odpovědi

14.1.2009 20:58 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: MySQL - Poddotaz pomalejší než samostatné dotazy

a co místo toho prvního dotazu zkusit:

SELECT * FROM (
SELECT 
  f.*
FROM 
  jos_fi_firms AS f
  LEFT JOIN jos_fi_spec_firm AS sf ON f.id=sf.firm_id
WHERE 
    f.state=1
AND (LOWER(f.title) LIKE '%xx%'
AND LOWER(f.region) LIKE '%%' OR LOWER(f.district) LIKE '%%' OR LOWER(f.city) LIKE '%%' OR LOWER(f.city_part) LIKE '%%')

GROUP BY f.ico, f.title
ORDER BY f.ID desc
) AS a
ORDER BY f.title
mělo by to dělat to samé.
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
14.1.2009 21:06 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: MySQL - Poddotaz pomalejší než samostatné dotazy

ups, na konci má být

ORDER BY a.title
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.