Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 93749
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T23:23:36+00:00 2026-05-10T23:23:36+00:00

I’m using MS SQL Server. When I define the database schema I define a

  • 0

I’m using MS SQL Server.

When I define the database schema I define a (non-materialized) view, which includes many fields, for example as follows (where ‘Topic’ is the name of a table, and the view is a self-join on the Topic table):

CREATE VIEW View_Topic_Ancestor AS SELECT     Subordinate.Id AS Subordinate_Id,     Subordinate.Folder_Id AS Subordinate_Folder_Id,     Subordinate.topicTitle AS Subordinate_topicTitle,     Subordinate.topicXhtml AS Subordinate_topicXhtml,     Subordinate.crossLinked AS Subordinate_crossLinked,     Superior.Id AS Superior_Id,     Superior.topicTitle AS Superior_topicTitle,     Superior.topicXhtml AS Superior_topicXhtml,     Superior.crossLinked AS Superior_crossLinked FROM Topic AS Subordinate LEFT OUTER JOIN Topic AS Superior ON Superior.Folder_Id = Subordinate.Folder_Id AND  Superior.LeftValue = (SELECT MAX(Ancestor.LeftValue)     FROM Topic AS Ancestor     WHERE Subordinate.LeftValue > Ancestor.LeftValue     AND Subordinate.LeftValue < Ancestor.RightValue     AND Subordinate.Folder_Id = Ancestor.Folder_Id) 

Later (at run-time) I use this view in a select statement, like this:

SELECT     T.Id AS Shared_Id,     V.Superior_Id,     V.Superior_topicTitle,     V.Subordinate_Id,     V.Subordinate_Folder_Id,     V.Subordinate_topicXhtml FROM Topic AS T, View_Topic_Ancestor AS V WHERE Folder_Id='e2eb2b68-738d-49ad-9787-a1e655b7973f' AND T.crossLinked = V.Subordinate_Id 

This SELECT statement doesn’t reference (doesn’t select) many of the fields which are in the view: for example, it selects the Subordinate_topicXhtml field but it doesn’t select the Superior_topicXhtml field.

My questions are:

1) Do the fields which are defined in the view, but which are not referenced in the run-time selection from the view, have much effect on performance? Assume if you will that the Superior_topicXhtml field contains a lot of data (is a very long string).

2) How can I verify the answer to this myself? Is testing (measuring ellapsed time with a stop-watch) the only way, or is it possible to obtain an answer based on theory? I am using ‘Microsoft Server SQL Management Studio’ for Microsoft SQL Server 2008, with SQL Express. I see how to obtain (but haven’t learned how to interpret) the ‘estimated execution plan’ for this query, but this shows only what indexes and loops are happening, not whether data is being retrieved from unreferenced fields.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T23:23:36+00:00Added an answer on May 10, 2026 at 11:23 pm

    The Query optimizer creates a query plan by combining the sql which defines the view with the sql you construct to ‘select’ from the view into a single sql query. If, in this combined, optimized sql, any specific attribute (column) is not necessary, it will not be used.. specifically, if the final select does not require it, it will not be sent over the wire. Also, if it is not needed by any Where clause, or Order By or anything else within the optimized sql, and all the attributes that ARE needed happen to be in an index, then that query can read only the index, and not touch the table at all… even thought he view references a column not present in the index… You can see this by looking at the query execution plan for the query.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 63k
  • Answers 63k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Here is someone who did what you are trying to… May 11, 2026 at 10:24 am
  • added an answer I would do something like so in button click of… May 11, 2026 at 10:24 am
  • added an answer I think Ctrl+Shift+Delete takes out all private data, including the… May 11, 2026 at 10:24 am

Related Questions

I keep getting tasks that are above my skill level. How can I address this without coming accross as grossly incompetent?
I have a web-service that I will be deploying to dev, staging and production.
I'm thinking of starting a wiki, probably on a low cost LAMP hosting account.
I have the following tables in my database that have a many-to-many relationship, which
I'm using the RESTful authentication Rails plugin for an app I'm developing. I'm having
I recently printed out Jeff Atwood's Understanding The Hardware blog post and plan on
I find that getting Unicode support in my cross-platform apps a real pain in
I would like to test a string containing a path to a file for
I'm getting this problem: PHP Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable
I'm an Information Architect and JavaScript developer by trade nowadays, but recently I've been

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.