7 messaggi dal 21 agosto 2005
Salve,
vorrei porre un quesito riguardante una tabella di grosse dimensioni, sia di recor che di campi, dove vengono eseguite select, insert ed update di continuo. Ora, leggendo notizie sugli indici, mi sembra di aver capito che utilizzare molti indici va bene per le selct ma rallenterebbe insert e update, viceversa senza indici le select perderebbero performance, insomma mi riesce difficile trovare un compromesso.
Un approccio che mi viene in mente è creare due tabelle con relazione uno a uno in modo da mettere da una parte i campi raramente modificati o fissi, dall'altre le varie quantità che sono di continuo utilizzata, allo scopo di mettere diversi indici ma non saprei quali vantaggi e svantaggi avrei, soprattutto se nella vista avrei bisogno contemporaneamente di una query con campi sia su una che l'altra tabella...
Avete qualche dritta? grazie

joe
1.945 messaggi dal 27 luglio 2005
Contributi
salve,
in effetti purtroppo c'e' sempre un trade off su performance bilanciate per gli indici... la loro assenza penalizza le proiezioni, mentre la loro presenza penalizza anche le operazioni di DML.....
puoi vedere un po' in rete indicazioni tipo
http://sqlperformance.com/2013/06/t-sql-queries/missing-index

ma ovviamente spesso e' un'attivita' "per tentativi"... cosa sicuramente invece puoi subito implementare e' togliere l'impostazione di AUTOCLOSE relativa ai database coinvolti... questa opzione fa si che SQLExpress chiuda le connessioni ai database "non in uso", invalidando i query plans acquisiti e tutte le cache relative... questa opzione ha un suo senso in SQLExpress in quanto "studiato" per macchine magari non di classe server ma per macchine workstations meno dotate dal punto di vista hardware et similia, come anche per consentire la pessima abitudine di fare "backup" dei database copiando i relativi file a livello di file system invece di utilizzare l'apposita funzionalita' BACKUP DATABASE xxx prevista all'uopo :)
salutoni

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
7 messaggi dal 21 agosto 2005
grazie delle info!!
Ma nella standard edition non vi sono problemi in merito all'autoclose?

In quell'articolo ho appena visto che non bisogna tropo usare gli indici mancanti...chissà se io ne ho abusato troppo, perchè come li trovavo li piazzavo :)

joe
1.945 messaggi dal 27 luglio 2005
Contributi
salve joe,
joe_2005 ha scritto:
grazie delle info!!
Ma nella standard edition non vi sono problemi in merito all'autoclose?


solamente la Express Edition ha come impostazione predefinita l'opzione autoclese impostata...


In quell'articolo ho appena visto che non bisogna tropo usare gli indici mancanti...chissà se io ne ho abusato troppo, perchè come li trovavo li piazzavo :)


il problema di "over-indexing"... :)
e' un lavoro di "esperienza" e di "tentativi"...
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.