Noto con piacere che in SQL Server 2005 vengono ignorati i criteri di ordinamento introdotti nelle viste (e nelle subquery) anche laddove si sia utilizzato l'artificio di utilizzare la clausola TOP 100 PERCENT. Facendo seguito a quanto già espresso in questo messaggio
https://blogs.aspitalia.com/lucabianchi/post1012/VisteTOP100PERCENTORDERBY.aspx
e ribadendo ancora una volta l'assoluta inutilità di uno stratagemma simile che può costringere SQL Server ad ordinare 2 volte i dati, potete testare il comportamento in SQL Server 2005 utilizzando il seguente codice di esempio
USE tempdb
GO
CREATE TABLE dbo.MyTable
(
ID smallint not null,
Nome varchar(10) not null
)
GO
INSERT dbo.MyTable VALUES (1, 'Luca')
INSERT dbo.MyTable VALUES (2, 'Lorenzo')
INSERT dbo.MyTable VALUES (3, 'Andrea')
INSERT dbo.MyTable VALUES (4, 'Gianluca')
INSERT dbo.MyTable VALUES (5, 'Daniele')
GO
CREATE VIEW dbo.vw_MyTable
AS
SELECT TOP 100 PERCENT ID, Nome
FROM dbo.MyTable
ORDER BY Nome
GO
SELECT * FROM dbo.vw_MyTable
GO
è possibile vedere che la query sulla vista non produce l'ordinamento introdotto in maniera impropria...
Sarà forse la volta buona per far fare pulizia a coloro che ancora utilizzano questa pratica alquanto deprecabile.
Bye
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Tempo di commiati, il 4 giugno 2007 alle 15:04
- White paper su vardecimal storage format, il 30 maggio 2007 alle 10:49
- Tools per SQL Server, il 24 maggio 2007 alle 08:34
- Serie di articoli su SSIS, il 17 maggio 2007 alle 08:32
- Non c'è pace per il SP2, il 4 maggio 2007 alle 09:39
- Recuperare informazioni sugli indici, il 29 aprile 2007 alle 19:04