SQL dotaz
Jiří Nesvačil
nesvacil na posys.eu
Pondělí Listopad 14 15:35:09 CET 2016
Zdravim,
predelejte to na left outer join a dale pokud to bude pomale, tak zaindexujte sloupce pro spojeni a ty podle ktereho tridite
CREATE VIEW meta3 AS SELECT a.id,
a.title,
b.author_sort authors,
(SELECT name FROM series WHERE series.id IN (SELECT series FROM books_series_link WHERE book=books.id)) series,
a.series_index,
(SELECT group_concat(name) FROM tags WHERE tags.id IN (SELECT tag from books_tags_link WHERE book=books.id)) tags,
(SELECT group_concat(value) FROM custom_column_1 WHERE custom_column_1.id IN (SELECT value from books_custom_column_1_link WHERE book=books.id)) genre,
(SELECT group_concat(value) FROM custom_column_2 WHERE custom_column_2.id IN (SELECT value from books_custom_column_2_link WHERE book=books.id)) type,
path,
(SELECT name FROM data WHERE data.book=books.id) file,
(SELECT group_concat(format) FROM data WHERE data.book=books.id) formats,
timestamp
FROM books a
left outer join from books_authors_link c on c.book=a.id
left outer join authors b on b.authors.id = c.autor
...
Jirka
Dne 14. 11. 2016 v 15:21 Kosťa MK napsal(a):
> Zdravím,
>
> mám následující problém:
>
> Nad databází mám vytvořen relativně složitý view:
>
> CREATE VIEW meta3 AS SELECT id,
> title,
> (SELECT author_sort FROM authors WHERE authors.id IN (SELECT author from books_authors_link WHERE book=books.id)) authors,
> (SELECT name FROM series WHERE series.id IN (SELECT series FROM books_series_link WHERE book=books.id)) series,
> series_index,
> (SELECT group_concat(name) FROM tags WHERE tags.id IN (SELECT tag from books_tags_link WHERE book=books.id)) tags,
> (SELECT group_concat(value) FROM custom_column_1 WHERE custom_column_1.id IN (SELECT value from books_custom_column_1_link WHERE book=books.id)) genre,
>
> (SELECT group_concat(value) FROM custom_column_2 WHERE custom_column_2.id IN (SELECT value from books_custom_column_2_link WHERE book=books.id)) type,
> path,
> (SELECT name FROM data WHERE data.book=books.id) file,
> (SELECT group_concat(format) FROM data WHERE data.book=books.id) formats,
> timestamp
> FROM books
>
> funguje perfektně, jenže je zoufale pomalý pokud se pokusí o ORDER nad libovolným sloupcem
>
> Mohl by mě pridím někdo nakopnout jak to zrychlit?
>
> S pozdravem
> Kosta
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list