Suche | Statistiken | Benutzerliste | Access-FAQ | Datenschutz Foren
donkarl Forum
donkarl Forum ->  Themen -> SQL Server -> Diskussion ansehen

Du bist als Gast eingelogt. ( Anmelden | Registrieren )
  • Datenbankdiagramm
  • pwakolbi06.09.22 10:37
       └ RE: Datenbankdiagramm PeterDoering06.09.22 14:03
       └ RE: Datenbankdiagramm pwakolbi06.09.22 18:02
          └ RE: Datenbankdiagramm PeterDoering13.09.22 23:33
  • Datenbankdiagramm
  • pwakolbi06.09.22 10:37
  • iif - Bedingung im SQL-Server - View
  • snicolaus24.03.22 18:17
       └ RE: iif - Bedingung im SQL-Server - View PeterDoering24.03.22 19:17
  • Server Agent:SSIS-Packet läuft auf neuer Instanz n...
  • willi15413.08.20 13:05
       └ RE: Server Agent:SSIS-Packet läuft auf neuer Ins... willi15413.08.20 14:37
       └ RE: Server Agent:SSIS-Packet läuft auf neuer Ins... PeterDoering13.08.20 18:48
  • Suchen nach Datum in Proc
  • pwakolbi02.07.19 17:38
       └ RE: Suchen nach Datum in Proc PeterDoering10.07.19 12:21
  • ODBC-verknüpfte Tabellen in Access öffnen - sinnvo...
  • Carsten Ganswig26.01.19 10:39
       └ RE: ODBC-verknüpfte Tabellen in Access öffnen - ... PeterDoering26.01.19 12:22
          └ RE: ODBC-verknüpfte Tabellen in Access öffnen ... Carsten Ganswig26.01.19 12:46
             └ RE: ODBC-verknüpfte Tabellen in Access öffne... Carsten Ganswig28.01.19 07:57
                └ RE: ODBC-verknüpfte Tabellen in Access öff... PeterDoering07.03.19 01:37
  • SQL Server 2016 kompatibel mit Windows 7 und MS Ac...
  • alexander08.06.17 07:45
       └ RE: SQL Server 2016 kompatibel mit Windows 7 und... PeterDoering06.08.17 22:31
  • Abfangen Fehlermeldung bei Unterbrechung Serverver...
  • Fuchskusu02.09.16 09:17
       └ RE: Abfangen Fehlermeldung bei Unterbrechung Ser... Karl Donaubauer14.09.16 15:47
  • Clustered index update
  • Marzer24.05.16 06:41
       └ RE: Clustered index update Marzer25.05.16 11:01
       └ RE: Clustered index update uricken31.05.16 11:21
  • Access Frontend .adp in ein neues Verzeichnis vers...
  • willi15409.12.15 14:20
       └ RE: Access Frontend .adp in ein neues Verzeichni... willi15410.12.15 12:57
          └ RE: Access Frontend .adp in ein neues Verzeich... PhilS10.12.15 15:18
  • SQL Server 2014
  • manfri08.05.15 13:40
       └ RE: SQL Server 2014 PeterDoering10.05.15 09:47
  • Probleme bei gespeicherter Procedur
  • pwakolbi16.12.14 11:05
       └ RE: Probleme bei gespeicherter Procedur StefanWirrer17.12.14 13:21
          └ RE: Probleme bei gespeicherter Procedur PeterDoering29.12.14 14:52
       └ RE: Probleme bei gespeicherter Procedur PeterDoering24.12.14 13:47
          └ RE: Probleme bei gespeicherter Procedur pwakolbi29.12.14 09:36
  • Superbase
  • Gearwheel14.11.14 14:04
       └ RE: Superbase PeterDoering23.11.14 09:16
  • Select wird langsamer, wenn Variable als Parameter...
  • Christian Kehl19.11.13 11:55
       └ RE: Select wird langsamer, wenn Variable als Par... PeterDoering11.12.13 12:17
          └ RE: Select wird langsamer, wenn Variable als P... Christian Kehl02.01.14 15:04
             └ RE: Select wird langsamer, wenn Variable als... uricken20.07.14 17:34
                └ RE: Select wird langsamer, wenn Variable a... Christian Kehl18.08.14 17:01
  • Migration nach SQL
  • SoftHAK07.01.14 12:01
       └ RE: Migration nach SQL PeterDoering01.03.14 01:03
    Marzer
    Gesendet: 24.05.16 06:41
    Betreff: Clustered index update


    Veteran

    Beiträge: 101
    100
    Ich habe eine grosse Tabelle (mit vielen Einträgen). Die Tabelle hat einen 'clustered index' auf dem 'primary key', einem integer autoincrement. Daneben hat die Tabelle noch weitere acht Indizes.
    Jetzt habe ich am Schluss zwei Felder angefügt vom Typ BIT NOT NULL.
    Diese beiden Felder möchte ich bei allen bereits bestehenden Einträgen auf den Wert FALSE setzen (numerisch: 0).
    Dazu benütze ich folgenden Command:

    UPDATE (tablename)
    SET (columnname) =0
    WHERE (indexfield1) BETWEEN (date1) and (date2)

    Das dauert unendlich lange. Ein Blick in den 'estimated execution plan' offenbart Erstaunliches:
    Der SQL Server macht einen 'clustered index update' auf allen Einträgen; dieser benötigt 98% der totalen Kosten.
    Dabei wird der PK gar nicht geändert. Der 'execution plan' sieht übrigens im Wesentlichen gleich aus, wenn ich die WHERE-Klausel weglasse.

    Wie ist das zu erklären? Und wie bringt man den SQL Server dazu, sich nur um das eine BIT-Feld zu kümmern und die Finger vom clustered index zu lassen?


    Edited by Marzer 24.05.16 04:46


    Anhänge
    ----------------
    Anhänge Donkarl01.jpg (75KB - 3 downloads)
    Top of the page Bottom of the page


    Seite: 1 2 3
    Suche in diesem Forum
    Druckfreundliche Version
    (Alle Cookies von dieser Seite löschen.)