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


Optimera denna sqlfråga..

Postades av 2010-02-20 16:27:45 - Alexander Hjalmar, i forum sql-server/msde, Tråden har 126 Kommentarer och lästs av 5484 personer

SELECT Time, Value FROM [DATA] Where TableName = @soustr AND (Time > DATEADD(minute,-50,(SELECT ISNULL(Max(Time),'1900-01-01 00:00:00') FROM [DATA] Where TableName = @resstr))
OR Time > (SELECT MIN(Time) FROM [DATA] Where TableName = @soustr And Time IN
(SELECT TOP (5) Time FROM [DATA] Where TableName = @soustr
And Time < (SELECT ISNULL(Max(Time),'2050-01-01 00:00:00') FROM [DATA] Where TableName = @resstr)
ORDER BY Time DESC))) ORDER BY Time;


@soustr är en variabel som ändras, även lika med @resstr

Hur kan jag optimera denna fråga till max?? All data ligger i samma tabell..
Indexerat TableName -> Time -> Value -> ID

Är det något i frågan ovan som gör att den inte söker när TableName = ... :S


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 17:40:56 - Alexander Hjalmar

Men det kanske går ganska snabbt ? Frågan ovan tar cirka 5-6 sekunder, det är 250 miljoner rader i databasen..

Men jag hade velat ha det så det gick Direkt typ.. Max 1-2 sek då.. Går inte det :S


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 18:17:12 - Håkan Borneland

Vilken version av SQL Server?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 18:21:15 - Alexander Hjalmar

2005. Skulle det göra skillnad med 2008versionen? Förklara isåfall..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 18:25:45 - Håkan Borneland

Är någon av kolumnerna Primärnyckel?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 18:30:49 - Håkan Borneland

Hur många index (icke klustrade) har du på tabellen?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 18:32:51 - Håkan Borneland

SQL Server 2008 spelar ingen roll i det här fallet.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 18:48:26 - Alexander Hjalmar

Har primärnykel på kolumn ID
Har två indexerade, det är TabellNamn ASC -> Time DESC -> Value DESC -> ID ASC

Sen även indexerat ID..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 18:51:01 - Håkan Borneland

Jag tolkar det som att du har ett klustrat index på kolumn ID.
Sedan ett icke klustrat index på TabellNamn ASC -> Time DESC -> Value DESC -> ID ASC.
Rätt?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 18:59:32 - Alexander Hjalmar

japp..

Jag kanske ska indexera även TabelName -> VALUE -> Time -> ID.. Kanske är det som fattas för att få maximal hastighet..??


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 19:07:16 - Håkan Borneland

Nej, men du ska bygga om ditt index.

Kolumnen ID som är primärnyckel och ingår i det klustarde indexet ska inte vara med i ditt index.
Den finns med implicit i alla icke klustrade index som skapas.
Ta bort den.

När det gäller Tablename och VALUE vilket av dom finns det mest respektive minst varianter av?

T.ex du kanske säger att det finns 10 olika VALUE och 20 olika Tablename

Time innehåller den både datum och tid?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 19:49:48 - Alexander Hjalmar

>Kolumnen ID som är primärnyckel och ingår i det klustarde indexet ska inte vara med i ditt index.
Okey, jag tar bort det indexet och har bara primärkey där..


>När det gäller Tablename och VALUE vilket av dom finns det mest respektive minst varianter av?

Det finns väldigt mycket av båda.. Jag kan väll lägga till ett index till där jag har TableName -> Value -> Time..

DÅ har jag båda varianterna??


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 19:52:25 - Håkan Borneland

Nej ta det lugnt nu och ändra först när vi förstår varandra fullt ut.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 19:52:40 - Alexander Hjalmar

Where TableName = '...' INGÅR ALLTID...
Men sedan är det olika om nästa krav är Value=, eller Time=..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 19:56:10 - Alexander Hjalmar

:s


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 20:12:01 - Håkan Borneland

Kör den här frågan nedan.
Byt ut strängen "ditt tabellnamn" (mellan fnuttarna) mot namnet på din tabell.
Skriv in svaret här sedan, så ser jag hur det ser ut.

<code>
DECLARE @tablename nvarchar(125);

SET @tablename = N'ditt tabellnamn';

;WITH get_objectid AS
(
SELECT object_id
FROM sys.objects
WHERE ([name] = @tablename) AND ([type] = 'U')
)

SELECT
a.[name],
a.[index_id],
a.[type_desc]
FROM sys.indexes a
INNER JOIN get_objectid b ON (a.object_id = b.object_id)
ORDER BY a.[type_desc];
</code>


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 20:14:26 - Alexander Hjalmar


Name, Index_id , type_desc

PK_DATA 1 CLUSTERED
IX_DATA 2 NONCLUSTERED
IX_DATA_1 3 NONCLUSTERED


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 20:33:58 - Håkan Borneland

Ahhh, tack för hjälpen, men jag hade lite bråttom.
Gör om samma igen med den här frågan:

<code>
DECLARE @tablename nvarchar(125);

SET @tablename = N'radio';

;WITH get_objectid AS
(
SELECT object_id
FROM sys.objects
WHERE ([name] = @tablename) AND ([type] = 'U')
)

SELECT
a.[name] AS Indexnamn,
a.[type_desc] [Typ av index],
d.[name] Tabellkolumn
FROM sys.indexes a
INNER JOIN get_objectid b ON (a.object_id = b.object_id)
INNER JOIN sys.index_columns c ON (a.object_id = c.object_id) AND (a.index_id = c.index_id)
INNER JOIN sys.columns d ON (c.object_id = d.object_id) AND (c.column_id = d.column_id)
ORDER BY a.[type_desc], c.key_ordinal;
</code>


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 20:35:42 - Alexander Hjalmar


Index, Typ av index, Tabellkolumn

PK_DATA CLUSTERED ID
IX_DATA NONCLUSTERED ID
IX_DATA_1 NONCLUSTERED TableName
IX_DATA_1 NONCLUSTERED Time
IX_DATA_1 NONCLUSTERED Value
IX_DATA_1 NONCLUSTERED ID


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 20:45:00 - Håkan Borneland

Bra!!

Så här vill jag att du gör:

1. Ta bort indexet som heter IX_DATA.
2.Ta bort kolumnen ID från indexet som heter IX_DATA_1.
3. Flytta upp Time högst upp i indexet IX_DATA_1.
4. Sätt alla kolumner till sortorder ASC (vilket är default).
5. Bygg ett nytt index där du lägger till Tablename som Index key kolumn (ASC),
och lägger till Time som en Included Column.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 20:46:47 - Alexander Hjalmar

Kan man ändra detta på tabellen direkt? den innehåller 250 miljoner rader ju..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 20:49:39 - Håkan Borneland

Ja.

Brukar du använda SQL Server Management Studio?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 21:01:00 - Håkan Borneland

Det kommer att ta lite tid, men det får man ta.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 21:16:49 - Alexander Hjalmar

Men sist jag gjrode det avbröts det hela tiden :S Japp, använder Ms SQL Server Manager Studio Express..
Tar det flera timmar eller handlar det om nån halvtimme?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 21:17:41 - Alexander Hjalmar

5. Bygg ett nytt index där du lägger till Tablename som Index key kolumn (ASC),
och lägger till Time som en Included Column.



Vad menar du med att lägga till Time som en included?
Är det alltså att jag indexerar TableName ASC sen sätter -> Time ASC som nästa?

Men jag vill helst ha TIME DESC så jag får senaste först.. Väll lugnt med det oxå?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 21:23:16 - Håkan Borneland

Jag byggde ett index på en tabell med ca 7,5 miljoner rader, tog ca 40 - 45 sek.
I ditt fall kanske 25 - 60 min beroende på omständigheter.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 21:26:35 - Håkan Borneland

Berätta hur du gör när du skapar ett index.

Högerklickar du på "Indexes" under tabellnamnet, och väljer "New Index"?
Behåll ASC SQL Server hittar det den ska ändå.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 21:28:26 - Alexander Hjalmar

>Berätta hur du gör när du skapar ett index.

Tryckger höger musknapp på tabbelen och väljer modifiere
Sedan trycker jag höger musknapp på kanten och väljer Indexes/Key där jag sedan sätter..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 21:30:36 - Håkan Borneland

Kör det här skriptet för att bygga det nya indexet.

<code>
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE ([name] = 'IX_DATA_2') AND ([type] = 2))
CREATE NONCLUSTERED INDEX [IX_DATA_2] ON [dbo].[DATA]
(
[TableName]
)
INCLUDE
(
[Time]
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
GO
</code>


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 21:52:10 - Alexander Hjalmar

provar nu..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 21:57:47 - Håkan Borneland

Bra.
Återkom när det är klart.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 22:21:55 - Alexander Hjalmar

den jobbar..29min gått..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 22:28:09 - Håkan Borneland

Det är bra. låt den jobba.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 22:52:32 - Alexander Hjalmar

klart.. ska kolla strax..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 23:01:47 - Håkan Borneland

Bra!

Har du ändrat dom andra sakerna?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 23:08:55 - Håkan Borneland

Kör det här så vet vi läget.

<code>
DECLARE @tablename nvarchar(125);

SET @tablename = N'radio';

;WITH get_objectid AS
(
SELECT object_id
FROM sys.objects
WHERE ([name] = @tablename) AND ([type] = 'U')
)

SELECT
a.[name] AS Indexnamn,
a.[type_desc] [Typ av index],
d.[name] Tabellkolumn,
c.is_descending_key,
c.is_included_column
FROM sys.indexes a
INNER JOIN get_objectid b ON (a.object_id = b.object_id)
INNER JOIN sys.index_columns c ON (a.object_id = c.object_id) AND (a.index_id = c.index_id)
INNER JOIN sys.columns d ON (c.object_id = d.object_id) AND (c.column_id = d.column_id)
ORDER BY a.[type_desc], c.key_ordinal;
</code>


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 23:29:18 - Alexander Hjalmar

japp har ändrat det du gav "kod" till..

Vad får man ut av att köra det sista du skrev? Kan man "konstatera" nått genom det?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 23:31:23 - Alexander Hjalmar

Men det verar som "mitt tidigare" index är kvar när jag körde ditt? Alltså det lade till ditt till den redan befintliga...


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 23:32:34 - Alexander Hjalmar

Såhär ser det ut nu:

PK_DATA CLUSTERED ID
IX_DATA_2 NONCLUSTERED Time
IX_DATA_2 NONCLUSTERED TableName
IX_DATA NONCLUSTERED ID
IX_DATA_1 NONCLUSTERED TableName
IX_DATA_1 NONCLUSTERED Time
IX_DATA_1 NONCLUSTERED Value
IX_DATA_1 NONCLUSTERED ID


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 23:39:33 - Håkan Borneland

Kör det här:

<code>
DROP INDEX IX_DATA ON [dbo].[DATA];
</code>


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 23:41:41 - Alexander Hjalmar

klart.. hur vet jag det går "blixtsnabbt"?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 23:44:07 - Håkan Borneland

Vi ska ändra index IX_DATA_1.

Det får du göra via SQL Server Management Studio.

Finns det en Object Explorer (syns när man trycker F8)?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 23:47:08 - Alexander Hjalmar

japp, det finns


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 23:50:44 - Alexander Hjalmar

jag provkörde denna nu:

SELECT Time, Value FROM [DATA] Where TableName = 'JLT_B300019_5' AND (Time > DATEADD(minute,-50,(SELECT ISNULL(Max(Time),'1900-01-01 00:00:00') FROM [DATA] Where TableName = '0_327'))
OR Time > (SELECT MIN(Time) FROM [DATA] Where TableName = 'JLT_B300019_5' And Time IN
(SELECT TOP (5) Time FROM [DATA] Where TableName = 'JLT_B300019_5'
And Time < (SELECT ISNULL(Max(Time),'2050-01-01 00:00:00') FROM [DATA] Where TableName = '0_327')
ORDER BY Time DESC))) ORDER BY Time;


tog 5 sekunder :S men många andra går "typ direkt".. vart värderna än är i tabellen ska det ju hittas direkt..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 23:52:58 - Håkan Borneland

Ok.
Bredvid varje tabell i Object Explorer finns det ett plustecken.
Fäller man ut det så ser man en lista med "mappar" (som i utforskaren).
En sådan heter Indexes.
Den har också ett plustecken bredvid sig.
Fäll ut den så ser du vilka index som finns på tabellen.
Vi är intresserade av indexet som heter IX_DATA_1.
Högerklicka på det ich välj "Properties" (längst ner).
Nu öppnas en dialog som heter "Index Properties".
Där kan man lägga till, ta bort kolumner, och ändra deras position i indexet.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-20 23:54:47 - Håkan Borneland

Jo jo, ta det lugnt.
När du ändrat indexet, så ska du få en ny fråga att testa.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-20 23:57:35 - Alexander Hjalmar

Japp jag är med. Vilken position ska det vara?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:03:35 - Håkan Borneland

Som jag sa förut.
Ta bort kolumn ID (markera och tryck Remove).
Markera kolumn Time, och tryck på "Move Up" så den hamnar överst.
Klart.
Tryck Ok på dialogen.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:05:09 - Alexander Hjalmar

hmm förstår inte varför den ordningen.. men jag litar på dig :D det är fixat nu


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:05:14 - Håkan Borneland

Kör mitt SENASTE skript, så får vi se hur det ser ut.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:08:00 - Alexander Hjalmar

den jobbar fortfarande efter ändringarna jag gjorde.. såfort den jobbat klart så testar jag.
Men nu står ju Time: sort order desc på den..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:09:32 - Håkan Borneland

Ja det kan ta ett tag att gå igenom.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:11:34 - Håkan Borneland

Om man vill ändra sort order, så klickar man bara på ascending eller descending,
så fälls en dropdown ut och man kan välja vad man vill.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:18:23 - Håkan Borneland

Odningen är viktig utifrån hur stor selektivitet (få olika värden) varje kolumn har.
Tyvärr så sa du aldrig vilken av Tablename och Value som hade mest eller minst olika (unika) värden.
Den kolumn som har högst selektivitet, ska vara överst.

Därför har jag lagt Time överst (även med bara datum borde det finnas flest unika).

T.ex om man tittade på dina Value värden så kanske det finns en miljon poster med Value = 1.
1 miljon med Value = 2, o.s.v.
Då finns det 250 olika Value värden.

Är du med?

Det var det jag undrade på Tablename och value.

Går att ta reda på enkelt med en GROUP BY fråga.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:21:15 - Alexander Hjalmar

Men i Alla frågor måste TableName = nått anges först o främst..
Så den måste väll vara först indexerad... Sedan är det antingen Value = nått eller Time= nått...

Men varför inte skapa två index, en som hittar value blixtsnabbt när tablename är markerat och en som hittar time blixtsnabbt när tablename finns osv.. ?

*Den jobbar fortfarande med ändringen jag gjrode innan..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:32:32 - Alexander Hjalmar

Jag tror ifs det finns mer unika under kolumnen Value än Time.. Det TROR jag..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:38:16 - Håkan Borneland

Då borde den vara över Time.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:39:36 - Håkan Borneland

Datum med framförallt tid i sig är väldigt unika.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:39:45 - Alexander Hjalmar

Nu klart. Nu kör jag ditt senaste script.. Kan vi kolla vad som är unikast enkelt? Kanske är vätr?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:41:43 - Alexander Hjalmar

Nu så.. Fick upp 5 kolumner, de sista 2 heter is_descending_key och id_included_column.
Inga värden finns under kolumnerna..

Men jag läser lite på nätet.. Det verkar som ett klustrat index är bättre? :S


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:49:37 - Håkan Borneland

Vi kan diskutera detta med index senare.

Mitt skript, vad gav det på dom andra kolumnerna?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 00:52:03 - Alexander Hjalmar

PK_DATA CLUSTERED ID 0 0
IX_DATA_2 NONCLUSTERED Time 0 1
IX_DATA_2 NONCLUSTERED TableName 0 0
IX_DATA_1 NONCLUSTERED Time 1 0
IX_DATA_1 NONCLUSTERED TableName 0 0
IX_DATA_1 NONCLUSTERED Value 1 0


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 00:59:53 - Håkan Borneland

is_descending_key och id_included_column visar precis det jag vill.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:00:42 - Håkan Borneland

1 = sant, 0 = falskt


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:02:07 - Alexander Hjalmar

hmm :S jag tycker det går jättelångsamt nu när jag kör min CLR SP jag skapat.. Tidigare tog det typ 4min att köra (massa sqlfrågor ställer den och data bearbetas..)

Nu jobbar den fortfarande efter 7 minuter..

Jag vill att det ska gå blixtsnabbt :S.

-----
aha, okey


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:05:44 - Håkan Borneland

Ok Hjalmar.

5 sek. är inte jättelångsamt på 250 miljoner poster.
Tvärtom, så får det mig att undra om 25 milj, 2,5 milj eller 250 000 stämmer bättre?
Hursomhelst, det som vi gjort är inga jätteförändringar, eller garantier för att allt ska gå blixtsnabbt.
Kanske det blir som förut, men det är mer "rätt" nu.
(ännu mer rätt om kolumnerna låg i den ordning de skulle efter selektivitet, men vi struntar i det nu).

Är du med på det?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:07:54 - Håkan Borneland

Det kan bero på att vi skrivit om indexen och då ändras cachen, statistiken.
Första frågan kan ta längre tid, det gör dom alltid om du t.ex skulle starta om en server.
Jämfört med hur lång tid dom tar efter andra gången frågan körs..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:08:10 - Alexander Hjalmar

Row acount 207740818 = 207 740 818
(direkt kopierat från egenskaper på tabellen)

Japp är med på det.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:11:25 - Håkan Borneland

Testa denna fråga (kör den två ggr, och jämför)
Hoppas jag inte missat något när jag skrev om den, den var lite "krånglig" (nästlad).
Så får vi se om den är långsammare, lika snabb eller snabbare än den fråga som du först skrev i forumet.

<code>
DECLARE @max_date datetime;
DECLARE @min_date datetime;

SET @max_date = (SELECT MAX([Time]) FROM [dbo].[DATA] WHERE (TableName = @resstr));

SET @min_date = (SELECT MIN([Time])
FROM [dbo].[DATA]
WHERE [Time] IN (SELECT TOP (5) [Time]
FROM [dbo].[DATA]
WHERE (TableName = @soustr) AND [Time] < (ISNULL(@max_date1, '2050-01-01 00:00:00'))
ORDER BY [Time] DESC));

SELECT
[Time],
[Value]
FROM [dbo].[DATA]
WHERE (TableName = @soustr) AND
(([Time] > DATEADD(mi, -50, ISNULL(@max_date1, '1900-01-01 00:00:00'))) OR ([Time] > @min_date))
ORDER BY [Time];
</code>


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:14:22 - Alexander Hjalmar

väntar fortfarande på att förra frågan ska köras klart.. körts 10minuter.. tidigare tog det som sagt 4-5 minuter..

skrev detta innan ajg täntke visa:

Men det står att klustrade index är bra för :
Många av mina frågor hämtar många många rader. Ibland tusentals, ibland tiotusentals.. Men vissa gånger även tiotal eller hundratalet..

Men det är "enkla" frågor. Alltid TableName = först.. Då ska ju den vara indexerat så den hittar direkt? Sedan TÄNKTE jag att man bör ha både Value efter, så den hittar om man sätter ett Value -villkor.. Men sedan även Time.. Alltså man har två index , ett för TableName -> Value.. Sen ett TableName -> Time..
Är inte det smart så det går fort att hitta??
---

Klustrade index är bra för

- Frågor där du har ett brett spektra på din fråga, exempelvis då du använder between, , order by, join, group by, men även vid sum(), count() osv.
- Frågor där du behöver hämta en unik post (användarid exempelvis). Detta eftersom de data du hämtar ut direkt finns att tillgå.
- Frågor där du hämtar många rader. Det är av samma anledning som vi nämnt tidigare. Datan finns direkt åtkomlig från indexet och behöver inte hämtas genom en extra sökning.
- Ökande kolumner, såsom identity (int) och datum.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:18:58 - Alexander Hjalmar

Den förra frågas blir inte klart.

När jag inte har indexerat TableName som första så söker den genom 207 miljoner rader (som max) för att hitta rätt ju.. Måste vara därför det tar sådan tid..

Vi satte ju TIME :S som första.. Vi måste ha TableName Först...??


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:28:08 - Alexander Hjalmar

Vi måste göra om indexeringen på nått sätt. Det fungerar ej bra nu.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:31:23 - Håkan Borneland

Hjalmar man kan bara ha ett klustrat index per tabell.
Det har du redan på ID.

Vad händer om du kör din gamla fråga och min fråga separat?
Utan din CLR SP.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:32:25 - Håkan Borneland

Pröva min fråga först innan du ändrar något index.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:33:32 - Alexander Hjalmar

DENNA frågan gick precis DIREKT innan: (svårt att prova någon mer avancerad fråga då jag inte har korrekta värden att sätta in.. de kommer autoamtiskt, men clr:en fungerar ej nu pga att saker slutar aldrig att jobba, såsom det nedan: )


SELECT Top(1) [Time] FROM [DATA] where TableName='JLT_T100001_noll' order by Time desc

NU jobbar den och tar "aldrig" slut..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:35:51 - Alexander Hjalmar

Men om jag kör:
SELECT max (Time) FROM [DATA] where TableName='JLT_T100001_noll'

Så går det direkt däremot..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:47:24 - Alexander Hjalmar

Det låser sig helt åp denna Nu:
SELECT max(Time) FROM [DATA] where TableName='Q1_T300016_noll'

Tar jag bort max ovan så finns det bara ett värde vilket det hittar direkt..
Men när jag skriver som ovan så jbobar den och tar aldrig slut.

Vi måste fixa indexeringen........ :(


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 01:48:50 - Håkan Borneland

Har du reflekterat att båda frågorna borde ge samma resultat.
Fast TOP() och ORDER BY är mycket kostsamma.

I den ena frågan säger du ge mig det största värdet när tabellnamnet = 'JLT_T100001_noll'

Den andra frågan gör samma fast där ska den först hämta alla sedan sortera dom så att den senaste (vilket är lika med MAX()) kommer överst och sedan ge dig den översta.

Den typen av frågor kommer alltid att kosta prestanda.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:52:27 - Håkan Borneland

Du kan alltid gå tillbaka till dom gamla indexen om du vill.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 01:53:07 - Alexander Hjalmar

Jo,

Men vad händer om jag skapar två index av följande utseende:

TableName ASC -> Time desc -> Value desc -> Id asc

sedan skapar jag ett till om jag har value med i where istället för time,
TableName ASC -> Value desc -> Time desc -> ID asc..

Det borde göra att mina frågor hittar vad jag söker blictsnabbt??


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 02:07:05 - Håkan Borneland

Nej.

Men om du vill, ta bort det indexet som jag la dit, och flytta tillbaka time där det låg förut.
Prova sedan igen.

Har du provat min fråga som jag skrev om från din?
Om inte gör det innan du ändrar något index.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 02:08:52 - Alexander Hjalmar

Nej jag har inte provar den frågan.. Alla andra tidigare inlagda frågor fungerar ju inte längre.. Hur kan vi göra så de fungerar då? Ska vi lägga till något index för dem?

Du "måste" hjälpa mig med nått... :S


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 02:24:12 - Håkan Borneland

Ok då går vi tillnbaka som det var innan.
Kör dessa.

Då tar vi bort det som du skapade (går jättefort).
Sedan lägger vi till det som du tog bort.

Sedan går du in i Object Explorer och flyttar ner Time under Tablename, och lägger till ID sist.
Då är det precis som när vi började.

Hör av dig när det är klart.

<code>
DROP INDEX IX_DATA_2 ON [dbo].[DATA];
GO
CREATE NONCLUSTERED INDEX [IX_DATA] ON [dbo].[DATA]
(
[ID]
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
GO
</code>


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 02:35:27 - Alexander Hjalmar

Men räcker det inte med att jag flyttar ner Time.? Det jobbar förfullt nu....
Det borde vara klart snart med nerflyttningen av Timer. Då ser indexet ut som:

TableName ASC -> Time DESC -> Value DESC -> ID ASC


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 03:10:40 - Håkan Borneland

Ja, börja med att pröva det.
Då är det tillbaka där du började.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 03:31:38 - Alexander Hjalmar

Medans jag väntar kan jag fråga dig.. Sqlservern som jag ansluter till och kör allt är av version "Standard".. Skulle det vara bättre om vi istället flyttade och lät det köras på en separat servermaskin + att vi använde en bättre version än just "Standard" ??

Min andra fråga är SQL Jobs Agent, el. vad det heter nu.. Det finns inte i "Standardversionen" eller? Jag hittar ej den...



Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 03:59:59 - Håkan Borneland

Standard borde fungera bra.
En separat servermaskin låter bra om du menar att SQL Server körs separat på den.
Då behöver den inte konkurrera om resurser med andra applikationer.

SQL Server Agent finns i standardversionen, men inte i Express.

Uppfatade det som att du använde SqL Server Management Studio Express.

Installera Standard (av SSMS) istället.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 07:17:25 - Alexander Hjalmar


Ssms standard, vart hittar jag den? Jag hittar ej..
Din kod du skrev om ovan fungerar ej..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 08:55:32 - Håkan Borneland

Vilken kod är det som inte fungerar?

Menar du:
<code>
DROP INDEX IX_DATA_2 ON [dbo].[DATA];
GO
CREATE NONCLUSTERED INDEX [IX_DATA] ON [dbo].[DATA]
(
[ID]
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
GO
</code>

Testa en i taget, så här.
Först:
<code>
DROP INDEX IX_DATA_2 ON [dbo].[DATA];
</code>
Sedan:
<code>
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE ([name] = 'DATA') AND ([type] = 2))
CREATE NONCLUSTERED INDEX [IX_DATA] ON [dbo].[DATA]
(
[ID]
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];
</code>

Standard får man betala för så, om ni har en standardversion snurrande så har ni väl programmet någonstans.
Den finns inte att ladda ner.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 09:41:37 - Alexander Hjalmar

Menade att denna inte fungerar..

DECLARE @max_date datetime;
DECLARE @min_date datetime;

SET @max_date = (SELECT MAX([Time]) FROM [dbo].[DATA] WHERE (TableName = @resstr));

SET @min_date = (SELECT MIN([Time])
FROM [dbo].[DATA]
WHERE [Time] IN (SELECT TOP (5) [Time]
FROM [dbo].[DATA]
WHERE (TableName = @soustr) AND [Time] < (ISNULL(@max_date1, '2050-01-01 00:00:00'))
ORDER BY [Time] DESC));

SELECT
[Time],
[Value]
FROM [dbo].[DATA]
WHERE (TableName = @soustr) AND
(([Time] > DATEADD(mi, -50, ISNULL(@max_date1, '1900-01-01 00:00:00'))) OR ([Time] > @min_date))
ORDER BY [Time];




Den klagar till börja på,
Msg 137, Level 15, State 2, Line 10
Must declare the scalar variable "@max_date1".
Msg 137, Level 15, State 2, Line 18
Must declare the scalar variable "@max_date1".


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 09:52:42 - Håkan Borneland

He he my bad.
Har glömt att ändra variabelnamnet.
Nu så.

<code>
DECLARE @max_date datetime;
DECLARE @min_date datetime;

SET @max_date = (SELECT MAX([Time]) FROM [dbo].[DATA] WHERE (TableName = @resstr));

SET @min_date = (SELECT MIN([Time])
FROM [dbo].[DATA]
WHERE [Time] IN (SELECT TOP (5) [Time]
FROM [dbo].[DATA]
WHERE (TableName = @soustr) AND [Time] < (ISNULL(@max_date, '2050-01-01 00:00:00'))
ORDER BY [Time] DESC));

SELECT
[Time],
[Value]
FROM [dbo].[DATA]
WHERE (TableName = @soustr) AND
(([Time] > DATEADD(mi, -50, ISNULL(@max_date, '1900-01-01 00:00:00'))) OR ([Time] > @min_date))
ORDER BY [Time];
</code>


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 10:03:12 - Alexander Hjalmar

har provkört den.. den är långsammare än min :S när min kördes nyss (med variabler för en viss) så tog den 16sekunder.. Det var extremaste...

Din körs fortfarande och är uppe i 1,5 min


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 10:16:49 - Alexander Hjalmar

Kan du på något sätt hjälpa mig att effektivisera denna.. Med indexering el. om skrivning av frågan på något bättre sätt..

Många av frågorna ser jag tar 24 sekunder, 16sekunder.. Och vissa tar 0 sek.. Men det fungerar inte när endel tar sådan tid som ovan..

          cmd = New SqlCommand("SELECT Time, Value FROM [DATA] Where TableName = @soustr AND (Time > DATEADD(minute,-50,(SELECT ISNULL(Max(Time),'1900-01-01 00:00:00') FROM [DATA] Where TableName = @resstr)) " _
                                 & " OR Time > (SELECT MIN(Time) FROM [DATA] Where TableName = @soustr And Time IN " _
                                 & " (SELECT TOP (5) Time FROM [DATA] Where TableName = @soustr " _
                                 & " And Time < (SELECT ISNULL(Max(Time),'2050-01-01 00:00:00') FROM [DATA] Where TableName = @resstr) " _
                                 & " ORDER BY Time DESC))) ORDER BY Time;", conn)




Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 10:20:23 - Håkan Borneland

Ok, det är bara ett förslag på omskrivning.

Bara för säkerhets skull, prova den två ggr, och se skillnaden mellan körningarna.

Första gången man kör en fråga kan det ta kanske 1,5 min andra ggn 2-4 sek.

Det indexet som jag ville du skulle göra var för just denna fråga, utan det så blir det nog långsammare.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 11:07:01 - Alexander Hjalmar

6minuter ca tog den första gången..

Andra gången körs nu och den pågår.. tiden är än så länge 1min.... Så den är mycket långsammare.

4min sammanlagt andra gången...


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 11:34:28 - Alexander Hjalmar

Har du nått förslag på något index så vi kan få det att gå riktigt fort den jag skrev i första inlägget i denna tråd? Resten av frågorna går blixtsnabbt


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 11:46:10 - Alexander Hjalmar

DEt är ju en "OR" med, då kan man väll ersätta det med UNION ALL och sedan köra en select vidare.. Då tar den väll "rätt" index kanske.. Men jag får inte till det..

Eller om du har något bättre förslag..

SELECT Time, Value FROM [DATA] Where TableName = @soustr AND (Time > DATEADD(minute,-50,(SELECT ISNULL(Max(Time),'1900-01-01 00:00:00') FROM [DATA] Where TableName = @resstr))
OR Time > (SELECT MIN(Time) FROM [DATA] Where TableName = @soustr And Time IN
(SELECT TOP (5) Time FROM [DATA] Where TableName = @soustr
And Time < (SELECT ISNULL(Max(Time),'2050-01-01 00:00:00') FROM [DATA] Where TableName = @resstr)
ORDER BY Time DESC))) ORDER BY Time;


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 12:00:02 - Alexander Hjalmar

Jag lyckades skriva om det själv.. Tog bort "OR" och används istället UNION..
DÅ fick jag fram det DIREKT... :D


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 12:26:36 - Håkan Borneland

Bra att du fixar själv.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 17:03:57 - Alexander Hjalmar

Japp, det var faktiskt lite kul. Du ska ha tusen tack så länge.. Kanske dyker upp lite frågor till :/


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 17:07:52 - Håkan Borneland

Varsågod, även om det känns som om jag inte tillförde något.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 17:34:49 - Alexander Hjalmar

Du tillförde visst nått! Du lärde mig hur man sätter index..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 17:37:16 - Håkan Borneland

Ok, kul att du ser det så.
Lycka till.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 17:52:51 - Alexander Hjalmar

Vet du om det finns något sätt att göra så "insättningar" går fortare till databasen? Alltså, det går ganska fort.. Men jag tänkte om det finns något bra sätt som gör det ytterliggare snabbare.. T.ex om man skriver in många många tusen rader, alternativt uppdaterar många tusen..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 21:13:24 - Alexander Hjalmar

Jag har installerat mssql standard 2005.. "vafan" hittar man SSMS ?? ingen ikon skapas ju..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 21:51:32 - Håkan Borneland

Den når du via:
Startmenyn->Alla Program->Microsoft SQL Server 2005->SQL Server Management Studio.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 21:56:21 - Alexander Hjalmar

nej finns ej där, fast jag installerat allt. laddade ner mssql2005 standard direkt från MS via deras nerladdningssak...

gick inte installera det först, kom upp felmeddelande.. man fick manuellt ladda ner dotnetfx och krabba för att få det att installeras


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 21:56:45 - Håkan Borneland

För att få snabbare Updates gäller faktiskt index.
Servern använder även index för att hitta rader som ska uppdateras.

Sedan är det så att ju mer index man skapar (för att få snabbare läsning och uppdatering)
desto långsammare går skrivningarna (INSERT).

Det är en klassisk balansgång, som man får känna/testa sig fram för att hitta den "optimala"

Hämtar du rader från en annan tabell när du skriver in flera tusen rader?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 21:58:53 - Håkan Borneland

Vilka rutor (vilka komponeneter) kryssade du för när du installerade?

Avinstallera Express först.


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 22:00:14 - Alexander Hjalmar

jag avinstallerade innan... kryssade i allt under fliken avancerat


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 22:01:03 - Alexander Hjalmar

Det står såhär nu:

To change an existing instance of Microsoft SQL Server 2005 to a different edition of SQL Server 2005, you must run SQL Server 2005 Setup from the command prompt and include the SKUUPGRADE=1 parameter.


Hur göra? :S


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 22:11:20 - Håkan Borneland

Låter konstigt.

Har aldrig gått den vägen som du går nu.

Varför vill den ändra en befintlig installation om du har avinstallerat?

Avinstallerade du allt?
Startade du om efteråt?

Eftersom du kan ladda ner från MS, och du håller på med utveckling, så tycker jag att du ska installera Developer edition (den har jag).

Motsvarar alla varianter (även Standard).


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 22:12:33 - Alexander Hjalmar

vad finns i Dev. Edition som jag eventuellt skulle kunna utnyttja och ha nytta av?

Ja, jag avinstallerade allt. det Tror jag.. Startade nog inte om däremot..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 22:15:15 - Håkan Borneland

Allt som SQL Server har att erbjuda.
Kanske overkill om du inte ska hållla på med sådant.


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 22:17:58 - Alexander Hjalmar

Hmm, funderar.. Men frågan är om det är nått jag har nytta av i utvecklingen som finns i det..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 22:19:38 - Håkan Borneland

Kolla in dessa för att besluta dig.

http://www.microsoft.com/Sqlserver/2005/en/us/compare-features.aspx
http://www.microsoft.com/sqlserver/2005/en/us/developer.aspx


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-21 22:28:30 - Håkan Borneland

Hursomhelst så ska det inte vara något speciellt med installationen.
Kryssa i Server komponenter och tools (tror jag, minns inte nu).
Sen ska genvägen finnas där jag skrev förut.
Lycka till


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-21 22:38:27 - Alexander Hjalmar

Laddar ner developer nu.. Tack :D


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-22 00:31:49 - Alexander Hjalmar

Vart hittar man MS SQL Server Agent?? Jag är uppkopplad mot vår databas nu med MS SQL Server Management Studio..


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-22 08:09:26 - Håkan Borneland

I Object Explorer (Tryck F8) så ligger den längst ner i "trädet".


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-22 08:35:58 - Alexander Hjalmar

Under "Management" finns inget sådant... Vad beror det på?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-02-22 10:50:19 - Alexander Hjalmar

Att lägga till 1000rader genom att generera typ,

BEGIN
INSERT ...
INSERT ...
...
...
END

sedan skicka in detta och exekuera..

ELLER! om man skickar en och en direkt, typ.
for i = 1 to 1000
INSERT ....
next

Vilken går fortast om man jämför där? Det körs som CRL..

Varför jag frågar är att metoden ska lägga in 1000 värde-rader i tabellen. Varför värderad består av
tablename = 'nått', time=, value=..



Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-02-22 18:49:22 - Alexander Hjalmar

ingen ide?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-03-01 19:11:07 - Håkan Borneland

Hej!
Grymt mycket nu har nästan ingen tid för något annat.
Har du hittat SQL Agenten?


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-03-01 19:18:27 - Håkan Borneland

Var kommer dom 1000 raderna ifrån, en fil?
Leta efter bulk copy?


Svara

Sv:Optimera denna sqlfråga..

Postades av 2010-03-02 19:20:22 - Alexander Hjalmar

>Var kommer dom 1000 raderna ifrån, en fil?
>Leta efter bulk copy?

Den loopar för att skriva in vissa saker,. det kan ibland handla om väldigt många värden..


Svara

Sv: Optimera denna sqlfråga..

Postades av 2010-03-02 20:39:15 - Håkan Borneland

Troligen ditt första alternativ.
Som vanligt gäller TESTA!


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 616
27 953
271 709
5 618
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