Vedendo questa nota in mysqld.log: [Note] InnoDB: page_cleaner: 1000ms intended loop took 15888ms. The settings might not be optimal. (flushed=200 and evicted=0, during the time.) Sembra che qui si menzioni qualcosa del genere: l' istanza di MySQL si blocca "facendo indice SYNC" La mia domanda è: quale azione dovrebbe essere …
sacchetto di sabbia Mentre lavoravo su Blog Posts® di alta qualità, mi sono imbattuto in alcuni comportamenti di ottimizzazione che ho trovato davvero esasperanti . Non ho immediatamente una spiegazione, almeno non una di cui sono contento, quindi la inserisco qui nel caso in cui qualcuno si presenti. Se vuoi …
Di seguito, l'esecuzione della query richiede più di 11 minuti. SELECT `c`.*, `e`.`name` AS `employee_name`, `e`.`emp_no`, `d`.`code` AS `department_code`, IF(ew.code IS NOT NULL, ew.code, egw.code) AS shift_code, IF(ew.code IS NOT NULL, ew.time_in_from, egw.time_in_from) AS time_in_from, IF(ew.code IS NOT NULL, ew.time_out_to, egw.time_out_to) AS time_out_to, IF(ew.code IS NOT NULL, ew.next_day, egw.next_day) AS …
Ho una query che unisce alcune tabelle ed esegue abbastanza male - le stime delle righe sono lontane (1000 volte) e viene scelto il join di cicli annidati, con il risultato di più scansioni di tabelle. La forma della query è abbastanza semplice, simile a questa: SELECT t1.id FROM t1 …
Ho una tabella con 2 colonne. Il tipo di entrambe le colonne è impostato suvarchar(38) . Se creo una riga con un valore vuoto per una delle colonne, occuperà lo stesso spazio di archiviazione come se il valore non fosse vuoto? In altre parole, MySQL riserverà spazio di archiviazione per …
Ho una tabella, chiamata Address, che ha una colonna calcolata persistente chiamata Hashkey. La colonna è deterministica ma non precisa. Ha un indice univoco su di esso che non è ricercabile. Se eseguo questa query, restituendo la chiave primaria: SELECT @ADDRESSID= ISNULL(AddressId,0) FROM dbo.[Address] WHERE HashKey = @HashKey Ricevo questo …
Ho una tabella con un indice univoco filtrato per valori non annullabili. Nel piano di query viene utilizzato distinto. C'è una ragione per questo? USE tempdb CREATE TABLE T1( Id INT NOT NULL IDENTITY PRIMARY KEY ,F1 INT , F2 INT ) go CREATE UNIQUE NONCLUSTERED INDEX UK_T1 ON T1 …
Sto cercando di determinare quali indici utilizzare per una query SQL con una WHEREcondizione e una GROUP BYche è attualmente in esecuzione molto lenta. La mia domanda: SELECT group_id FROM counter WHERE ts between timestamp '2014-03-02 00:00:00.0' and timestamp '2014-03-05 12:00:00.0' GROUP BY group_id La tabella ha attualmente 32.000.000 di …
Aggiorna di seguito Ho una tabella di account con una tipica architettura di account acct / parent per rappresentare una gerarchia di account (SQL Server 2012). Ho creato una VISTA utilizzando un CTE per eseguire l'hashing della gerarchia e, nel complesso, funziona magnificamente e come previsto. Posso interrogare la gerarchia …
Ho una query SQL che ho trascorso negli ultimi due giorni cercando di ottimizzare utilizzando la versione di prova ed errore e il piano di esecuzione, ma senza risultati. Per favore, perdonami per averlo fatto, ma pubblicherò qui l'intero piano di esecuzione. Ho fatto lo sforzo di rendere generici i …
Il nuovo OFFSET ... FETCHmodello introdotto con SQL Server 2012 offre un paging semplice e veloce. Perché ci sono delle differenze considerando che le due forme sono semanticamente identiche e molto comuni? Si potrebbe presumere che l'ottimizzatore riconosca entrambi e li ottimizzi (banalmente) al massimo. Ecco un caso molto semplice …
Ho due query simili che generano lo stesso piano di query, tranne per il fatto che un piano di query esegue una scansione dell'indice cluster 1316 volte, mentre l'altro lo esegue 1 volta. L'unica differenza tra le due query sono criteri di data diversi. La query di lunga durata in …
Questo è il mio esempio di query: SELECT nickname, CASE class_id WHEN 1 THEN 'Druid' WHEN 2 THEN 'Necromancer' WHEN 3 THEN 'Mage' WHEN 4 THEN 'Priest' WHEN 5 THEN 'Warrior' WHEN 6 THEN 'Stalker' WHEN 7 THEN 'Paladin' WHEN 8 THEN 'Psionic' END class_name, ROUND(AVG(level),2) level, ROUND(AVG(tabard_id),2) tabard, CASE …
Mentre lavoravo sull'ottimizzazione di alcune procedure memorizzate, mi sono seduto con il DBA e ho seguito alcune procedure memorizzate con elevato blocco e / o alta attività di lettura / scrittura. Una cosa che il DBA ha menzionato è che dovrei dichiarare tutte le variabili (specialmente TABLEquelle) all'inizio della procedura …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.