Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-11-2008, 20:34   #1
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
[SQL Server 2008] - Performance, TVF ed Indici

Salve a tutti. Ho un problema abbastanza rognoso a lavoro e non ho idea di dove sbattere la testa per risolverlo o quanto meno agirarlo.

Il problema riguarda le perfomance di una table-valued function che passa, da 77 ms a 8500 ms con cambi minimi.

Ecco una descrizione sommaria del problema:
La funzione esistente crea una vista sul join di 3 tabelle filtrandola poi per un parametro che è, tra l'altro, chiave esterna verso una quarta tabella. Le tre tabelle sono in legame 1 -> M tra le 2 grosse (diciamo A e B), e la terza (C) è una specie di contenitore di valori enumerati, quindi ci sono due associazioni 1->M da A a C ed un'altra 1->M da B a C.

Il mio compito è cambiare la colonna attraverso cui viene filtrata la tabella risultante dal join utilizzando un'altra chiave esterna (che inizialmente non era neanche segnata come FK).

Il problema è che, per la logica della query, tirarmi fuori il vecchio parametro da una quinta tabella ed usarlo per alcuni calcoli. Questo calcolo non è che la selezione di una colonna filtrata tramite chiave primaria in una tabella da, forse, 100 record. Non posso credere che l'aggiungere questa estrazione aumenti il tempo necessario di 8 secondi dato che, tra l'altro, il valore da utilizzare è lo stesso in tutta la funzione, non va calcolato quindi per ogni record.

Ho provato prima con una funzione inline, e "quel valore" era calcolato 3 volte, una per ogni necessità, affidandomi al caching del dbms. Visti i tempi scandalosi, ho optato per una funzione non inline, ma i tempi, se possibili, sono peggiorati, 10/12 sec, forse dovuto al fatto che si crea una tabella di appoggio e gli si copiano dentro di dati di interesse.

Lavorando di profiler ho scoperto che il query optimizer suggerisce di creare un indice sulla tabella B per migliorare le prestazioni del 75%. Purtroppo questo indice, una volta creato, non sembra incidere particolarmente.

Cosa suggerite? Spero di essere stato chiaro!
Kralizek è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Ring Videocitofono Cablato + Telecamera ...
Windows 10, il supporto ESU viene esteso...
Motorola edge 60 neo a soli 251€: tripla...
Bollette più leggere? Octopus Ene...
Muse Spark è qui: Meta abbandona ...
Microsoft testa su Xbox Insiders la poss...
Climatizzatore 12000 BTU A++ con Wi-Fi a...
La crisi delle memorie farà ricca Samsun...
Il ventilatore Dyson che puoi indossare:...
Insta360 presenta Snap, lo schermo selfi...
Razer Kishi V2 a soli 59,99€ su Amazon: ...
Dallo scantinato di Jobs al NeXT: apre l...
Trasformare il PC in una workstation AI ...
ECOVACS DEEBOT T80 OMNI a soli 499€: il ...
Gli iPhone e i mid-range Samsung guidano...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v