index blocking factors views
play

Index Blocking Factors, Views Rose-Hulman Institute of Technology - PowerPoint PPT Presentation

Index Blocking Factors, Views Rose-Hulman Institute of Technology Curt Clifton Index Redux Heap storage Clustered (primary) index Non-clustered (secondary) index On heap stored table On clustered table Index Calculations


  1. Index Blocking Factors, Views Rose-Hulman Institute of Technology Curt Clifton

  2. Index Redux  Heap storage  Clustered (primary) index  Non-clustered (secondary) index  On heap stored table  On clustered table

  3. Index Calculations  To understand index, helpful to calculate sizes  Terms:  Blocking factor: How many records fit on a page (a.k.a., a block) – see Q1a  Index block factor: How many index entries fit on a page – see Q1b

  4. Index Calculations (cont.)  Single level index…  If primary (clustered), then one entry for each block in file  If secondary, then one entry for each entry in file  See Q1c  Multi-level index  One entry for each block at the next lower level  See Q1d, e

  5. Views

  6. Employees Employees EmployeeID LastName Firstname Title 1 Davolio Nancy ~~~ 2 Fuller Andrew ~~~ 3 Leverling Janet ~~~ USE Northwind GO CREATE VIEW dbo.EmployeeView AS SELECT LastName, Firstname FROM Employees EmployeeView EmployeeView Lastname Firstname Davolio Nancy User’ ’s View s View User Fuller Andrew Leverling Janet

  7. Advantages of Views  Focus the Data for Users Focus on important or appropriate data only  Limit access to sensitive data (hide SSN from professors)   Mask Database Complexity Hide complex database design  Simplify complex queries, including distributed queries to  heterogeneous data by embedding them in views  Simplify Management of User Permissions Different user access DB from different views 

  8. Creating Views  Creating a View CREATE VIEW dbo.OrderSubtotalsView (OrderID, Subtotal) AS SELECT OD.OrderID, SUM(CONVERT(money,(OD.UnitPrice*Quantity*(1-Discount)/100))*100) FROM [Order Details] OD GROUP BY OD.OrderID GO  Restrictions on View Definitions Cannot include ORDER BY clause 

  9. Example: View of Joined Tables Orders Customers CustomerID CustomerID RequiredDate RequiredDate ShippedDate ShippedDate CustomerID CustomerID CompanyName CompanyName ContactName ContactName OrderID OrderID 10663 BONAP 1997-09-24 ~~~ 1997-10-03 BONAP Bon app' Laurence Lebihan 10827 BONAP 1998-01-26 ~~~ 1998-02-06 PICCO Piccolo und mehr Georg Pipps 10427 PICCO 1997-02-24 ~~~ 1997-03-03 QUICK QUICK-Stop Horst Kloss 10451 QUICK 1997-03-05 ~~~ 1997-03-12 10515 QUICK 1997-05-07 ~~~ 1997-05-23 USE Northwind ShipStatusView GO CREATE VIEW dbo.ShipStatusView AS OrderID OrderID ShippedDate ShippedDate ContactName ContactName SELECT OrderID, ShippedDate, ContactName 10264 1996-08-23 1996-08-21 Laurence Lebihan FROM Customers C INNER JOIN Orders O 10271 1996-08-30 1996-08-29 Georg Pipps ON C.CustomerID = O.CustomerID 10280 1996-09-12 1996-09-11 Horst Kloss WHERE RequiredDate < ShippedDate

  10. Altering and Dropping Views  Altering Views USE Northwind GO ALTER VIEW dbo.EmployeeView AS SELECT LastName, FirstName, Extension FROM Employees  Retains assigned permissions  Causes new SELECT statement and options to replace existing definition  Dropping Views DROP VIEW dbo.ShipStatusView

  11. Locating View Dependencies  Use: sp_depends viewname  Will list:  Objects upon which view depends The "underlying" or "base" relations   Objects that depend on the view

  12. Modifying Data Through Views  Update or delete allowed on view when it can be mapped to just one underlying table  Cannot modify computed columns  Queries executed by translation to underlying table (typically)

  13. Quiz Question 3  Pertinent SodaBases relations:  Soda(name, manf)  Likes(customer, soda)  Customer(name, addr, phone)

  14. TopSalesView depends on TotalPurchaseView: Any performance problems in the underlying view can be hidden. Customers Customers USE Northwind Orders Orders GO 1 ~ ~ ~ n Order Details Order Details CREATE VIEW dbo.TopSalesView 1 ~ ~ ~ n 2 ~ ~ ~ n AS 1 ~ ~ ~ ~ 2 ~ ~ ~ n 3 ~ ~ ~ y SELECT * 2 ~ ~ ~ ~ 3 ~ ~ ~ y 4 ~ ~ ~ y FROM dbo.TotalPurchaseView 3 ~ ~ ~ ~ WHERE Subtotal > 50000 4 ~ ~ ~ y 5 ~ ~ ~ n 4 ~ ~ ~ ~ GO 5 ~ ~ ~ n 6 ~ ~ ~ y 5 ~ ~ ~ ~ 6 ~ ~ ~ y 6 ~ ~ ~ ~ TopSalesView TopSalesView TotalPurchaseView TotalPurchase View ~ ~ ~ 1 ~ ~ ~ ~ ~ ~ ~ 2 ~ ~ ~ ~ ~ ~ ~ 3 ~ ~ ~ ~ 4 ~ ~ ~ ~ 5 ~ ~ ~ ~ SELECT * 6 ~ ~ ~ ~ FROM dbo.TopSalesView WHERE CompanyName = 'Ernst Handel'

  15. Moral of the Story  Don’t create views on views

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend