[Consulta] Vistas con Indices

11/12/2003 - 01:20 por Inte | Informe spam
Estan permitidas en la version Standard de SQL Server 2000?
(hasta ahora no lo he podido lograr, segun he leido solo lo permite la
version Enterprise)

GRACIAS!

Preguntas similare

Leer las respuestas

#1 ulises
11/12/2003 - 01:52 | Informe spam
Sí, si tienes instalado el SP3.

Saludos,
Ulises

On Wed, 10 Dec 2003 18:20:12 -0600, "Inte"
wrote:

Estan permitidas en la version Standard de SQL Server 2000?
(hasta ahora no lo he podido lograr, segun he leido solo lo permite la
version Enterprise)

GRACIAS!

Respuesta Responder a este mensaje
#2 Fernando G. Guerrero
11/12/2003 - 14:07 | Informe spam
La creación de vistas indexadas está permitida en cualquier edición de SQL
Server 2000. La unica diferencia es que si no tienes la edición Enterprise
el optimizador de consultas no seleccionará automáticamente la vista
indexada para resolver consultas que no hagan referencia directa a la vista.

Por ejemplo, podrías tener creado un índice en la vista:

DROP VIEW TotalVentas
GO

CREATE VIEW TotalVentas
WITH SCHEMABINDING
AS
SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID
GO

CREATE UNIQUE CLUSTERED INDEX ndxTotalVentas ON TotalVentas(OrderID)
GO


SELECT *
from TotalVentas


SELECT *
from TotalVentas(NOEXPAND)


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, AVG(Quantity * UnitPrice) AS Average
FROM dbo.[Order details]
GROUP BY OrderID


SELECT SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]

SELECT AVG(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]


Ningún service pack 3 ha cambiado este comportamiento.

Lo que sí hizo el Service Pack 1 fue corregir un error que producía un plan
de ejecución pésimo cuando se actualizaba una tabla que ten;ia una vista
indexada con funciones de agregación (casualmente este bug se resolvió a
raíz de una serie de scripts que envié a Microsoft tras mi charla en techEd
Europe 2000 en la que comenté este bug)

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"ulises" wrote in message
news:
Sí, si tienes instalado el SP3.

Saludos,
Ulises

On Wed, 10 Dec 2003 18:20:12 -0600, "Inte"
wrote:

>Estan permitidas en la version Standard de SQL Server 2000?
>(hasta ahora no lo he podido lograr, segun he leido solo lo permite la
>version Enterprise)
>
>GRACIAS!
>

Respuesta Responder a este mensaje
#3 ulises
11/12/2003 - 15:56 | Informe spam
Gracias Fernando por la aclaración, ¿por casualidad
tendras el número de artículo en el KB del bug que
mencionas?

Saludos,
Ulises

La creación de vistas indexadas está permitida en


cualquier edición de SQL
Server 2000. La unica diferencia es que si no tienes la


edición Enterprise
el optimizador de consultas no seleccionará


automáticamente la vista
indexada para resolver consultas que no hagan referencia


directa a la vista.

Por ejemplo, podrías tener creado un índice en la vista:

DROP VIEW TotalVentas
GO

CREATE VIEW TotalVentas
WITH SCHEMABINDING
AS
SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID
GO

CREATE UNIQUE CLUSTERED INDEX ndxTotalVentas ON


TotalVentas(OrderID)
GO


SELECT *
from TotalVentas


SELECT *
from TotalVentas(NOEXPAND)


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, AVG(Quantity * UnitPrice) AS Average
FROM dbo.[Order details]
GROUP BY OrderID


SELECT SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]

SELECT AVG(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]


Ningún service pack 3 ha cambiado este comportamiento.

Lo que sí hizo el Service Pack 1 fue corregir un error


que producía un plan
de ejecución pésimo cuando se actualizaba una tabla que


ten;ia una vista
indexada con funciones de agregación (casualmente este


bug se resolvió a
raíz de una serie de scripts que envié a Microsoft tras


mi charla en techEd
Europe 2000 en la que comenté este bug)

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

Respuesta Responder a este mensaje
#4 Norman A. Armas
11/12/2003 - 17:34 | Informe spam
Ningún service pack 3 ha cambiado este comportamiento.



En si el Service Pack 3 no cambio el comportamiento pero si cambio la
informacion, ya que hasta que no salio el BOL del SP3 la documentacion decia
claramente que solo se podian usar en la version Enterprise y con los nuevos
BOL dice que se pueden usar en cualquier edicion.
Por eso es que casi todos asumimos que en el SP3 es que se habia incluido
cuando lo que en realidad se incluyo fue la rectificacion de los BOL.

A continuacion lo que dice Microsof al respecto:
==
Microsoft Knowledge Base Article - 270054

PRB: Indexed Views Can Be Created on All Versions of SQL Server 2000
View products that this article applies to.
This article was previously published under Q270054
SYMPTOMS
The "Creating an Indexed View" topic of SQL Server Books Online states that
Indexed Views can only be created on the Microsoft SQL Server 2000
Enterprise edition and Microsoft SQL Server 2000 Developer edition.

That statement is incorrect.
MORE INFORMATION
You can create Indexed Views on all editions of SQL Server 2000. While it is
possible to create indexed views in all editions of SQL Server 2000, the
benefits in performance can be obtained only in the Enterprise and Developer
edition of SQL Server 2000. This is because the Query Optimizer does not
take the indexes on the views into consideration when generating an
execution plan in other editions. To download an updated version of
Microsoft SQL Server 2000 Books Online, visit the following Microsoft Web
site:
SQL Server 2000 Books Online (Updated)
The information in this article applies to:
Microsoft SQL Server 2000 (all editions)




saludos

Norman



"Fernando G. Guerrero" wrote in message
news:%235GK%23e%
La creación de vistas indexadas está permitida en cualquier edición de SQL
Server 2000. La unica diferencia es que si no tienes la edición Enterprise
el optimizador de consultas no seleccionará automáticamente la vista
indexada para resolver consultas que no hagan referencia directa a la


vista.

Por ejemplo, podrías tener creado un índice en la vista:

DROP VIEW TotalVentas
GO

CREATE VIEW TotalVentas
WITH SCHEMABINDING
AS
SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID
GO

CREATE UNIQUE CLUSTERED INDEX ndxTotalVentas ON TotalVentas(OrderID)
GO


SELECT *
from TotalVentas


SELECT *
from TotalVentas(NOEXPAND)


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, AVG(Quantity * UnitPrice) AS Average
FROM dbo.[Order details]
GROUP BY OrderID


SELECT SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]

SELECT AVG(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]


Ningún service pack 3 ha cambiado este comportamiento.

Lo que sí hizo el Service Pack 1 fue corregir un error que producía un


plan
de ejecución pésimo cuando se actualizaba una tabla que ten;ia una vista
indexada con funciones de agregación (casualmente este bug se resolvió a
raíz de una serie de scripts que envié a Microsoft tras mi charla en


techEd
Europe 2000 en la que comenté este bug)

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"ulises" wrote in message
news:
> Sí, si tienes instalado el SP3.
>
> Saludos,
> Ulises
>
> On Wed, 10 Dec 2003 18:20:12 -0600, "Inte"
> wrote:
>
> >Estan permitidas en la version Standard de SQL Server 2000?
> >(hasta ahora no lo he podido lograr, segun he leido solo lo permite la
> >version Enterprise)
> >
> >GRACIAS!
> >
>


Respuesta Responder a este mensaje
#5 Fernando G. Guerrero
12/12/2003 - 05:45 | Informe spam
286234

:-)

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

"Comparte lo que sabes, aprende lo que no sepas"

"ulises" wrote in message
news:0f4701c3bff6$ec9b5a10$
Gracias Fernando por la aclaración, ¿por casualidad
tendras el número de artículo en el KB del bug que
mencionas?

Saludos,
Ulises

La creación de vistas indexadas está permitida en


cualquier edición de SQL
Server 2000. La unica diferencia es que si no tienes la


edición Enterprise
el optimizador de consultas no seleccionará


automáticamente la vista
indexada para resolver consultas que no hagan referencia


directa a la vista.

Por ejemplo, podrías tener creado un índice en la vista:

DROP VIEW TotalVentas
GO

CREATE VIEW TotalVentas
WITH SCHEMABINDING
AS
SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID
GO

CREATE UNIQUE CLUSTERED INDEX ndxTotalVentas ON


TotalVentas(OrderID)
GO


SELECT *
from TotalVentas


SELECT *
from TotalVentas(NOEXPAND)


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total,
COUNT_BIG(*) as Lineas
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]
GROUP BY OrderID


SELECT OrderID, AVG(Quantity * UnitPrice) AS Average
FROM dbo.[Order details]
GROUP BY OrderID


SELECT SUM(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]

SELECT AVG(Quantity * UnitPrice) AS Total
FROM dbo.[Order details]


Ningún service pack 3 ha cambiado este comportamiento.

Lo que sí hizo el Service Pack 1 fue corregir un error


que producía un plan
de ejecución pésimo cuando se actualizaba una tabla que


ten;ia una vista
indexada con funciones de agregación (casualmente este


bug se resolvió a
raíz de una serie de scripts que envié a Microsoft tras


mi charla en techEd
Europe 2000 en la que comenté este bug)

Fernando G. Guerrero
SQL Server MVP
CEO & Principal Mentor
Solid Quality Learning
www.solidqualitylearning.com

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida