List:General Discussion« Previous MessageNext Message »
From:Baron Schwartz Date:February 9 2009 3:19pm
Subject:Re: MySQL View
View as plain text  
On Mon, Feb 9, 2009 at 9:41 AM, Steven Buehler <steve@stripped> wrote:
> Ok, I just saw a post about using view's in mysql.  I tried to look it up
> and found how to use it, but my question is: what is a view and why would
> you use it?  Is it like a temporary table?  Does it write a new database to
> the disk or use memory?

A view is a piece of SQL whose result can be queried like a table.  It
stores no data; the results are always generated as the query
executes.  In some cases it does use a temporary table to hold the
result and then query against it; in other cases it merges the
original query's SQL and the view's SQL together and then executes the
resulting query.

Why use it?  To abstract a complex bit of code away for simplicity.
To grant permissions in a certain way (you can grant access to the
view and deny access to the underlying table).

There's a lot of complexity to it though, in terms of how to use views
correctly and get good performance.  I think the manual goes over it
in good detail, and our book High Performance MySQL 2nd Edition has
probably the best exploration of it otherwise.

Baron

-- 
Baron Schwartz, Director of Consulting, Percona Inc.
Our Blog: http://www.mysqlperformanceblog.com/
Our Services: http://www.percona.com/services.html
Thread
MySQL ViewSteven Buehler9 Feb
  • Re: MySQL ViewBaron Schwartz9 Feb
    • RE: MySQL ViewSteven Buehler9 Feb
      • RE: MySQL ViewMartin Gainty9 Feb
        • RE: MySQL ViewSteven Buehler9 Feb
          • Re: MySQL ViewClaudio Nanni9 Feb
            • RE: MySQL ViewSteven Buehler10 Feb
  • Re: MySQL ViewJochem van Dieten10 Feb
    • RE: MySQL ViewSteven Buehler10 Feb
      • Re: MySQL ViewJochem van Dieten10 Feb