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


optimal prestanda + kunna flytta data i från en kolumn till en an

Postades av 2002-09-23 10:37:01 - Håkan Nykvist, i forum sql-server/msde, Tråden har 5 Kommentarer och lästs av 792 personer

---Fråga1--:
Håller på att göra om en tabell för bättre prestanda.

Tabellen består av 200 kolumner s1-s200, och kan antingen ha värdet 1 eller 0, datatype int eller?

en del av sql satsen ser ut så här (dynamisk)

<code>
(s1=1 or s2=1 or s3=1) and (s4=1 or s6=1) and (s7=1 or s8=1 or s9=1)
</code>

---Fråga2--:
Ska även kunna flytta data inbördes mellan kolumnerna
Exempel1: data i kolumn s1-s200 ska kunna flyttas till s2-s201
Exempel2: data i kolumn s1-s10 ska byta plats med s101-110

Det är c:a 8000 rader x 200 kolumner, och det är ingen engångsgrej..

Hur gör man det enklast?

Tack på förhand


Svara

Sv: optimal prestanda + kunna flytta data i från en kolumn till e

Postades av 2002-09-23 11:38:48 - Johan Djupmarker

detta låter som en helt galen design, vad är det du ska göra? måste finnas någon bättre lösning...

/Johan


Svara

Sv: optimal prestanda + kunna flytta data i från en kolumn till e

Postades av 2002-09-23 13:49:51 - Håkan Nykvist

Tabellen är till för svaren i ett urval, varje kolumn är ett urvalsalternativ.

Tex
kolumn s1,s2,s3 är en urvalsfråga med möjlighet flera svar i.
1,0,1


Kolumn s4-s5 är en annan urvalsfråga med möjlighet med ett svar i.
1,0,0

Bättre lösningar är alltid välkommna


Svara

Sv: optimal prestanda + kunna flytta data i från en kolumn till e

Postades av 2002-09-24 09:36:46 - Magnus Gladh

Jag hade lagt alla svarsalternativ i en egen tabell. Men 3 kolumner i.

Skall svaret dessutom bara var 1/0 så är det rätt korkat att använda en INT eftersom den tar upp så mycket större plats än en BIT. Finns bra föklarat i de artiklar om SQL performence som översätts nu varför det är bättre för prestandan att använda BIT istället för INT, läs det?

1. AnvändarID
2. SvarsId
3. Svaret.

Typ
A|S|Svaret
--------
1|1|1
1|2|0
1|3|1
1|4|1
1|5|0
1|6|0


Hur du sedan skall flytta svaren verkar inte så smart, måste du verkligen det? Jag menar om jag svarat 1 på fråga 1 så borde ju inte det flyttas till fråga 2.

Men om du nu vill det så kan man använda UPDATE.

UPDATE [tabellen] SET [Svaret] = (SELECT [svaret] FROM [tabellen] WHERE [SvarsId] = 1) WHERE [SvarsId] = 2

Den kan säkert förbättras ordentligt men är ett sätt att göra det på...

- M


Svara

Sv: optimal prestanda + kunna flytta data i från en kolumn till e

Postades av 2002-09-30 09:45:25 - Håkan Nykvist

Får inte det att fungera, skriver sql satsen så här typ

[code]
select * from [tabell] INNER JOIN [URVALSTABELL] ON [TABELL].A = [URVALSTABELL].A where ((s=1 and svaret=1) or (s2=2 and svaret=1)) and ((s=3 and svaret=1))
[/code]

Eller tänker/skriver jag fel?




Svara

Sv: optimal prestanda + kunna flytta data i från en kolumn till e

Postades av 2002-09-30 12:16:35 - Magnus Gladh

Borde fungerar om du vill ha ut alla användare som har svarat:

1 på fråga 1
ELLER
1 på fråga 2

OCH
1 på fråga 3


kanske du har fel på s2=2 eller det är bara skrivfel, det skall vara s=2

Testa annars denna

SELECT * FROM [TABELL_NAME] WHERE [ANVÄNDAREID_KOLUMN] IN (SELECT A FROM [URVALSTABELL_NAMN] WHERE (s=1 and svaret=1) or (s=2 and svaret=1)) and (s=3 and svaret=1))

- M


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 617
27 953
271 709
5 726
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