Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


ORDER BY o VIEW

Postades av 2005-05-18 10:23:13 - Sina Tikab, i forum sql-server/msde, Tråden har 11 Kommentarer och lästs av 839 personer

Har problem med ORDER BY i en View som jag har det gäller bara en kolumn den ska göra order på men den vill inte.

kör med mssql 7


Svara

Sv: ORDER BY o VIEW

Postades av 2005-05-18 10:25:25 - Björn Österman

Hej Sina

Hur ser SELECT-satsen ut?

// MvH Björne


Svara

Sv:ORDER BY o VIEW

Postades av 2005-05-18 10:43:12 - Sina Tikab

Hej Björn!
Så här ser det ut på ett ungefär.

så får jag felmedelandet

An ORDER BY clause is invalid in views unless TOP is also specified.



SELECT ITEM.*, GROUP5.*,
...
...
FROM dbo.ITEM LEFT OUTER JOIN
...
...
WHERE (dbo.ITEM.BLOCKED = '0')
GROUP BY dbo.ITEM.ARTSLEV, dbo.ITEM.BLOCKED,
...
...
dbo.ITEM.URLCODE, dbo.ITEM.VIKT,
dbo.GROUP5.CODE,
...
...
ORDER BY dbo.ITEM.NRI


Svara

Sv: ORDER BY o VIEW

Postades av 2005-05-18 11:08:22 - Sina Tikab

Jag kom på att man kan göra en order by i VB koden. :S

Data.RecordSource = "Select * from VIEW_priscode ORDER BY [NRI]"

men frågan är om inte det tar på prestandan i när man kör en order by i vb än i själva view'en ?


Svara

Sv:ORDER BY o VIEW

Postades av 2005-05-18 11:20:55 - Björn Österman

En vy är egentligen en virtuell tabell, som du inte behöver sortera i själva vyn. Det man gör (precis som du skriver sist) är att sortera tabellen när du skriver SELECT-satsen mot vyn.

När du skriver "Select * from VIEW_priscode ORDER BY [NRI]" så är det sql-servern som gör sorteringen. Precis som du ville.

// MvH Björne


Svara

Sv: ORDER BY o VIEW

Postades av 2005-05-18 11:29:02 - Sina Tikab

=) tackar
OKee då förstår jag nu.


Svara

Sv:ORDER BY o VIEW

Postades av 2005-07-22 13:13:11 - Mattias Lind

Gammal tråd, men för syftets skull...

Man vill i vissa fall styra sorteroingen på datat i en vy. T ex användare som ska ställa fråga mot vyn utan att behöva tänka på att sortera... Det kan vara användarna som ska göra kopplade utskrifter från Word osv...

Skapa vyn med:

CREATE VIEW SorteradVy
AS
SELECT TOP 100 PERCENT WITH TIES * FROM Tabellen ORDER BY sorteringskolumn ASC
-- TOP 100 PERCENT returnerar alla rader
-- WITH TIES kan ses som överflödigt, dock garanterar det att alla rader även delad sistaplats
-- returneras.


På detta sätt kommer datat att returneras sorterat när man ställer frågan:

SELECT * FROM SorteradVy

Jag tror att det var detta Stina ville nå från början.

/Mattias


Svara

Sv: ORDER BY o VIEW

Postades av 2005-07-22 14:47:11 - Sina Tikab

det där var ett smart sätt som jag inte tänkte på (Y)

att man gör sorteringen i skapandet av vyn mycket bra förslag

jag heter inte stina


Svara

Sv:ORDER BY o VIEW

Postades av 2005-07-22 15:12:10 - Johan Svensson

Hej,

Poängen är dock att soretering alltid tar prestanda från servern, oavsett när den sker.

Som ett tidigare inlägg påpekade så är en vy en virtuell tabell och data i en tabell bör så långt det är möjligt undvikas att lagras på et specifikt sätt. Låt istället databasmotorn ta hand om lagringsbiten och optimera sig själv, så kan du fokusera på användandet.

En nackdel som kan uppstår med sorterade vyer är att så fort man lagrar data så kan en vy behöva sorteras om. Så om man då lagrar eller ändrar data oftare än man läser ut den så får man en prestandaförslust. Men även om så inte är fallet så måste ändp databasmotorn kontrollera sorteringen vid utläsning, varför sorteringen ändå måste ske en gång till många gånger.

Så man vinner oftast ingenting på en sorterad vy, tvärtom förlorar man prestanda. Enda fördelen (?) är att man i ett anrop har ett par bokstäver mindre att skriva...men det är ju ingen fördel egentligen.

// Johan


Svara

Sv: ORDER BY o VIEW

Postades av 2006-05-08 22:30:09 - Mattias Lind

Gammal tråd men jag vill lyfta upp den... Skäms nästan för att lyfta upp en så gammal tråd som denna...

Flåt Sina, jag läste fel. Ska inte kalla dig Stina något mer... *ler

Hur som helst, vill bara poängtera att en sorterad vy givetvis är negativ vad gäller prestanda/last på servern, men det är ju vad den är till för så???. All form av sortering är prestandakrävande. Men om en fråga alltid ska vara sorterad spelar det ingen roll, det går snabbare att sortera resultatet direkt vid källan. Sedan hur mycket innebär sorteringen i realitet i negativ last på servern, i förhållande mot dumma frågor ställda från applikationer. En fråga ställd på fel sätt från applikationen som ofta sker när applikationsutvecklaren är osäker på hur frågespråket fungerar eller tror sig vara smartare än utvecklarteamet som byggt databasservern... *ler och blink-blink ...blir alltid sämre än att dra nytta av kraften vi har i databasservern. Som ändå oftast bara går på sparlåga...


Svara

Sv:ORDER BY o VIEW

Postades av 2006-05-09 09:44:20 - Mikael Wedham

Problemet man får när man sorterar på en vy är:

SELECT * FROM sorteradvy
Funkar OK

MEN!!!!!!!!!!!!

SELECT * FROM SorteradVy ORDER BY nånannankolumn
Detta ger att du först sorterar på en kolumn - genererar en plan för det, för att sedan sortera igen. Då hade kanske frågan behandlats på ett annat sätt från början.

/micke


Svara

Sv: ORDER BY o VIEW

Postades av 2006-05-09 12:43:52 - Mattias Lind

Men har du sedan användaren som bara ska ha ett resultat som ska användas vidare i en annan applikation och du vill att datat SKALL vara sorterat vid leverans. T ex någon som mot all förmodan ska göra en kopplad utskrift från Word och denna någon med möda klarar att skriva SELECT * FROM VY och inget mer. Eller bara med andan i halsen klarar att lägga till ett tabell/vy-objekt grafiskt.

Hur skulle DU lösa en sådan uppgift annat än att ha en vy som levererar sorterat resultat?

Dvs ändamålen helgar medlen, denna typ av vy har ett rent syfte och ska då leverera det som eftersfrågas.

Givetvis håller jag med om att man bör ha en vy som levererar osorterat resultat och att man sorterar datat i den SELECT-sats man kommer att skriva för att returnera innehållet, för att t ex slippa sortering på sortering vid annat nyttjande av vyn än vad huvudsyftet är. Nu var det inte det som efterfrågades dock, utan hur man skulle göra för att låta en vy returnera ett sorterat resultat.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
558
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies