mySQL - VIEWS :)
12 отговора
505 прегледа
mySQL - VIEWS :)
Опа компанията, хмм Salle, какво мислиш за "симулация" на VIEW като нещо такова, изобщо тези "TEMPORARY TABLE " колко са временни? до края на сесията със сървъра ли?
CREATE TEMPORARY TABLE tmp1
SELECT * FROM real_table WHERE id>100 AND conditions.....
просто идейка... може и да са глупости :) има ли някаква специфична разлика във скоростта например (макар, че няма много логика) да се ползват временни таблици, ако в рамките на една сесия с mySQL-a примерно се правят по-сложни неща... Ти какво милисш за "TEMPORARY TABLE" - иците и кога би ми препоръчал да ги ползвам - принципно.
П.С. знам, че въпросът ми пак е общ..
CREATE TEMPORARY TABLE tmp1
SELECT * FROM real_table WHERE id>100 AND conditions.....
просто идейка... може и да са глупости :) има ли някаква специфична разлика във скоростта например (макар, че няма много логика) да се ползват временни таблици, ако в рамките на една сесия с mySQL-a примерно се правят по-сложни неща... Ти какво милисш за "TEMPORARY TABLE" - иците и кога би ми препоръчал да ги ползвам - принципно.
П.С. знам, че въпросът ми пак е общ..
ъх, никак не е общ.....
мене ме вълнува абсолютно същото, и се чудех точно как да попитам...))
[линк]
[линк]
Редактирано от Topбaлaн на
Re: ъх, никак не е общ.....
хех, то е ясно, че няма, въпросът е дали може да се ползва нещо друго което предлага MySQL-а, което горе-долу да има подобни характеристики... :)
Re: ъх, никак не е общ.....
----------==----------------
From MySQL Version 3.23, you can use the TEMPORARY keyword when you create a table. The temporary table is visible only to the current connection, and will be deleted automatically when the connection is closed. This means that two different connections can both use the same temporary table name without conflicting with each other or with an existing table of the same name. (The existing table is hidden until the temporary table is deleted.) From MySQL 4.0.2 on, you must have the CREATE TEMPORARY TABLES privilege to be able to create temporary tables.
----------==----------------
не става, тя си е само за сесията на конкецията :)
From MySQL Version 3.23, you can use the TEMPORARY keyword when you create a table. The temporary table is visible only to the current connection, and will be deleted automatically when the connection is closed. This means that two different connections can both use the same temporary table name without conflicting with each other or with an existing table of the same name. (The existing table is hidden until the temporary table is deleted.) From MySQL 4.0.2 on, you must have the CREATE TEMPORARY TABLES privilege to be able to create temporary tables.
----------==----------------
не става, тя си е само за сесията на конкецията :)
Re: ъх, никак не е общ.....
това е иделайно за някои цели, но за други не става....
VIEW има и други приложения....
я ако имаш ICQ се обади - 44441095
[линк]
VIEW има и други приложения....
я ако имаш ICQ се обади - 44441095
[линк]
Re: mySQL - VIEWS :)
view-то е чиста проба абстракция, която се ползва в някои бази данни за лесно реализиране на допълнителна функционалност (ограничаване на права, капсулиране на сложни SQL-и и т.н.)
т.е. дали ще имаш view v_test "select * from t_test" и после "select * from v_test" или правиш направо "select * from (select * from t_test)" е все-едно и също - тук зависи само от това, как ще се оправи оптимизатора на базата
специално в Oracle, view-to се пази само като дефиниция и не съществува до момента, в който не направиш заявка към него
т.е. дали ще имаш view v_test "select * from t_test" и после "select * from v_test" или правиш направо "select * from (select * from t_test)" е все-едно и също - тук зависи само от това, как ще се оправи оптимизатора на базата
специално в Oracle, view-to се пази само като дефиниция и не съществува до момента, в който не направиш заявка към него
Re: mySQL - VIEWS :)
сигурно си прав....
може би му се спестява някакво проверяване за грешки на view-то...но едва ли е толкоз важно....
само, че като си свикнал да го ползваш и го няма, тогава ти е по кофти....чустваш се дискомфортно...
[линк]
може би му се спестява някакво проверяване за грешки на view-то...но едва ли е толкоз важно....
само, че като си свикнал да го ползваш и го няма, тогава ти е по кофти....чустваш се дискомфортно...
[линк]
Re: mySQL - VIEWS :)
Идеята е именно капсулирането на голи и сложни заявки :) за това иде реч. Нещо напълно необходимо за една по-сложна структура на базата данни, и разбира се VIEW-тата доста улесняват нещата, но тук говорим специално за MySQL, и че най-вероятно заместител на такива за момента няма. Дри и нещо с подобна фунционалност ;). Но кой знае :>
е, хайде сега ...
нищо не ти пречи да си дефинираш view-тата, които ти капсулират сложните заявки, в текст, който после да конкатенираш след from-а в SQL клаузата ...
за грешките във view-то
проверяването на грешките става при създаването на view-то, т.е. веднъж създадено дефиницията му е валидна, докато не се смени дефиницията на обект, от който е зависимо самото view - тогава трябва recompile
Re: за грешките във view-то
ахам, това имах предвид...
ако е стринг - това се прави всеки път при изпълняване на заявката
[линк]
ако е стринг - това се прави всеки път при изпълняване на заявката
[линк]
Re: е, хайде сега ...
are sa glkuposti, nali goworim za kapsulirane na slojni zaqwki i crosowe... VIEW-tata spestqwat towa :)