Portál AbcLinuxu, 10. května 2025 12:25

Dotaz: MySQL - view na data ze vsech tabulek se stejnou strukturou

6.6.2012 13:51 RapMan | skóre: 14 | blog: RapMan
MySQL - view na data ze vsech tabulek se stejnou strukturou
Přečteno: 701×
Odpovědět | Admin
Ahoj, lze nejakym rozumnym zpusobem udelat pohled na data ze vsech tabulek v jedne databazi, ktere maji stejnou strukturu?

Mam nekolik tabulek (pocet i jmeno neni presne dane), ktere maji stejnou strukturu, je tam i sloupec timestamp.

Cilem je vzit data z techto tabulek na jednu hromadu a seradit podle casu, nebo pri vyberu zadat uz omezeni casu (napr. tyden stara data).

Jde toho dosahnout pouze s pouzitim MySQL 5.5?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.6.2012 14:02 Kit
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano
6.6.2012 14:16 RapMan | skóre: 14 | blog: RapMan
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
Diky, na merge jsem koukal, ale tabulky jsou na engine InnoDB, a jejich mnozstvi muze pribyvat. Tzn. neco jako ENGINE=MERGE UNION=(SHOW ALL TABLES)
6.6.2012 20:50 Kit
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
V tom případě by se hodilo zamyslet se nad strukturou databáze a obsah všech dotyčných tabulek vložit do jedné tabulky.
7.6.2012 00:33 RapMan | skóre: 14 | blog: RapMan
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
To uz je bohuzel pozde... :( Navrh byl vytvoren pred nekolika lety, po zmene struktury by se musel zmenit software na klientech, kteri jsou po celem svete...
okbob avatar 7.6.2012 05:35 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
pridata tabulku a regenerujete view - co je v tom za problem? Jinou moznosti je pouzit partitioning
7.6.2012 10:14 RapMan | skóre: 14 | blog: RapMan
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
Nevim presne, jak to myslite?
7.6.2012 10:42 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
No, udělat si view přes všechny tabulky co máte, tak jak potřebujete a když nějaká přibude, tak ho opravit, jestli je jich mnoho a přibývá často, tak jednoduchým skriptíkem je to určitě možné generovat (krom toho, že je to divné, mít takto uložená data :) ).
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
7.6.2012 11:28 RapMan | skóre: 14 | blog: RapMan
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
A nejde ten pohled naprogramovat pres stored procedure tak, aby si vzdycky nacetl seznam vsech tech aktualnich tabulek?
7.6.2012 11:55 Kit
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
Samozřejmě to jde. Zejména pokud těch tabulek není mnoho. Jinak to dost zdržuje. Také je nutné načíst pouze ty správné tabulky.
7.6.2012 12:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
No asi jo, třeba nějak takto (jen tak z hlavy):
delimiter |
CREATE PROCEDURE myprocedure
language sql modifies sql data  
BEGIN
  DROP VIEW IF EXISTS xy;
  SHOW TABLES LIKE/WHERE…
  …seskládat dotaz…
  CREATE VIEW xy…  nebo rovnou provést seskládané dynamické SQL bez VIEW
  start transaction; //?
  SELECT * FROM xy;
  commit;  //?
END;|  
delimiter ;
call myprocedure();   
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
okbob avatar 7.6.2012 19:02 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
Tohle je technika, ktere je lepsi se vyhnout - pokud budete resit konzistenci a zamykani.
7.6.2012 21:28 jekub
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
To uz je bohuzel pozde

Takže máte klienty po celém vesmíru a tím pádem není možné změnit strukturu databáze. Proč se potom ptáte, jak to udělat?

O dynamicky generovaných pohledech tady už byla řeč. Další možnost je replika (nevím jak moc je to složité v MySQL) do vedlejší databáze s jednou tabulkou, která sjednotí to co potřebujete a klient;m podhotíte jinou DB.

No a kdybych to musel řešit já a měl připojení k DB z klientů pod kontrolou, tak bych ... "zeptejte se mě na co chcete, já vám na co chci odpovím".

Ale z toho si příklad neberte ;-)
11.7.2012 14:49 Ivan Nový
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
SELECT * FROM t1 UNION SELECT * FROM t2 UNION SELECT * FROM t3;
7.6.2012 10:30 Ivan
Rozbalit Rozbalit vše Re: MySQL - view na data ze vsech tabulek se stejnou strukturou
Odpovědět | | Sbalit | Link | Blokovat | Admin
UNION ALL

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.