Programista PHP MySQL
o programování v PHP pár slov

Poddotazy v MySQL 4.1

Publikováno v pátek, 9. června 2006 Luke Jarzembowski

Právě jsem objevil potenciál poddotazy v MySQL. I když tato možnost byla zavedena už dávno, ale až teď to nemá zájem ...

Důvod byl velmi jednoduchý - většina serverů, na kterých jsem pracoval byla instalace starší verze. Administrátoři se bojí instalovat nové verze databází z několika důvodů:

  • nejistota akce - MySQL je Open Source a je často měnit. Počet zkušebních verzích, beta, vývoj, a tak zabránil provádění jakýchkoliv nových produktů pro komerční servery - by bylo příliš časté "zhroucení"
  • Problém s přenosem dat - nové motory nelze interpretovat databázové soubory z předchozích verzí. Nejjistější způsob, jak přesunout je export a import dat, což je časově velmi náročné
  • některé společnosti se drží politiky - proč měnit něco, co dobře funguje? Opravdu, nedostatek poddotazy v MySQL byste mohl "obejít" dělá smyčku v PHP.

Jak používat poddotazy? Například jsem vytvořil můj problém:

Těšíme se na úplných údajů (název, obsah, atd.). Nedávný článek v každé sekci.

Používáte verzi starší než 4.1 by mohl být problém řešen dvěma způsoby:

  • Proveďte dotaz pro vyhledávání všechny články a skupiny je wegług oddělení. Pak jsme se smyčka PHP a pro každý okruh najdeme (v poslední době) článek.
  • Děláme si tuto vzhled po vzniku posledních článků v oddělení - SELECT `` oddělení, MAX (`datum`) GROUP BY `` id_dzial. Pak se podívejte na tyto články. Po řádné pitval výsledky předchozích šetření, hledání detailů těchto článků může obsłóżyć "jeden select" (*)

To je druhý způsob používá k vytvoření jediného dotazu s poddotazy. To bude vypadat takto:


SELECT * FROM `článků adresáři` WHERE (`oddělení`, `` daty)
V
(
SELECT `s oddělení`, MAX (`datum`) FROM `GROUP BY` články zvanou oddělení `
)
ORDER BY `date` s DESC

Součástí je zvýrazněna poddotazu. Doufám, že kód je pochopitelné. Funguje to úplně stejně jako řešení (*), s výjimkou, že všechny zpracování dat se provádí na MySQL - PHP dostat konkrétní odpověď, aby problém. To zjednodušuje velmi složitý a čitelnost kódu aplikace.

Bohužel, některé hostingové společnosti stále nejsou na svých serverech verze 4.1 nebo novější MySQL'aw. Chtěl bych doporučit tuto společnost - jejich hosting rozhodně podporuje MySQL 4.1. Vím to, protože jsem pomocí :-)

Pokud se vám líbí tento záznam, prosím ho
nebo doporučovat další sociální sítě: Bookmark and Share
Lukáš Jarzembowski Lukáš Jarzembowski, autor blogu - od roku 2006 v iluzi, že bude bohatá ... ;-) Ale stále pracujeme na tom. programy a blogy a pozice , vytváření a podpoře jejich e-podnikání . kontakt

Příspěvky podobné "poddotazy v MySQL 4.1"

    Žádné související příspěvky

Komentář