Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 235
  • Last Modified:

Impact of views on performance

I have a design and performance question.  Considering a SQL Server 2008 database with 10 large tables (10 - 100 millions records).  These tables are dimensional with a number of small dimension tables.   Each table is largely denormalized for performance purposes.  

Here is the situation, we plan to add a column to hold an encrypted key to each table.  To make sure noone can access this key by any mean/ways they connect to the database.  One way is to create a view over each table to hide the key and perhaps a few more sensitive columns and only allow read-only users to access the views instead of the tables directly.

The question is: How much resource used by each view?  For instance, if a table is 20 GBs is size, would the view also occupy about 10 GBs in memory in general?
pax

 
0
cpeters5
Asked:
cpeters5
  • 2
3 Solutions
 
udaya kumar laligondlaTechnical LeadCommented:
View will not store any data. when ever you query the view it will fetch the data from table.
0
 
chapmandewCommented:
Right...views are just a "view of the data"...not the data itself (unless the view is indexed, but that is a different story).  You can certainly use a view for this purpose.  Another way is to disallow the viewing of that column's data through permissions.  Personally, I would use the views.
0
 
cpeters5Author Commented:
Thanks for the quick response.  I am not familiar with database theory that much coming from different background.  What I understand, a view is sort of a persistent query.  So while database is online, each view would occupy a chumk of memory.  Is this a correct understanding?  And if so, how big is that memory relative to the size of the query that defines the view?
0
 
chapmandewCommented:
That is not a correct understanding.  A view is a stored query...but stored in a sense that it is ready to run...it is a definition of a way to pull data, not the actual data itself.  Does that make sense?  for example, this does NOT store any data.

create view viewname
as
select * from tablename

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now