-
La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-15 19:15:37.0 alle 2012-04-15 19:15:37.0Trollate totali: 11540...e` un calvario.

Pagina generata in 33025 millisecondi-
Re: La query dei thread aggiornati...Scritto daavvelentaniCubicolarioil 2012-04-15 19:20:10.0 alle 2012-04-15 19:20:10.0Trollate totali: 18184Scritto da: altg
> ...e` un calvario.
>
> Pagina generata in 33025 millisecondi
Pagina generata in 34 millisecondi
a me va.I think happiness is love
- Vladimir Putin-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-15 19:21:12.0 alle 2012-04-15 19:21:12.0Trollate totali: 11540> > ...e` un calvario.

> >
> > Pagina generata in 33025 millisecondi
>
> Pagina generata in 34 millisecondi
>
> a me va.
Si`, ora che ha cachato tutto, va.
Riprova fra un po', quando tutti si sono scordati di pigiarla.-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-15 19:23:51.0 alle 2012-04-15 19:23:51.0Trollate totali: 11540> > > ...e` un calvario.

> > >
> > > Pagina generata in 33025 millisecondi
> >
> > Pagina generata in 34 millisecondi
> >
> > a me va.
>
> Si`, ora che ha cachato tutto, va.
> Riprova fra un po', quando tutti si sono scordati di pigiarla.
Ecco, guarda:
Possibile che solo a me lo fa?
-
Re: La query dei thread aggiornati...Scritto dagengivaUtente privileggiatoil 2012-04-15 19:29:37.0 alle 2012-04-15 19:29:37.0Trollate totali: 9100Scritto da: altg
> > > > ...e` un calvario.
> > > >
> > > > Pagina generata in 33025 millisecondi
> > >
> > > Pagina generata in 34 millisecondi
> > >
> > > a me va.
> >
> > Si`, ora che ha cachato tutto, va.
> > Riprova fra un po', quando tutti si sono scordati di pigiarla.
>
> Ecco, guarda:
>
>
>
> Possibile che solo a me lo fa?
no pure a me
Cercatelo con Google, ritardato! ©
-
Re: La query dei thread aggiornati...Scritto da: altg
> > > > ...e` un calvario.
> > > >
> > > > Pagina generata in 33025 millisecondi
> > >
> > > Pagina generata in 34 millisecondi
> > >
> > > a me va.
> >
> > Si`, ora che ha cachato tutto, va.
> > Riprova fra un po', quando tutti si sono scordati di pigiarla.
>
> Ecco, guarda:
>
>
>
> Possibile che solo a me lo fa?
Se usi il link "Forum dei Troll / Principale" è più lento di solito. E` quello che stai cercando di caricare?Young professional woman and busy mom.-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-15 19:31:04.0 alle 2012-04-15 19:31:04.0Trollate totali: 11540> > > > > ...e` un calvario.

> > > > >
> > > > > Pagina generata in 33025 millisecondi
> > > >
> > > > Pagina generata in 34 millisecondi
> > > >
> > > > a me va.
> > >
> > > Si`, ora che ha cachato tutto, va.
> > > Riprova fra un po', quando tutti si sono scordati di pigiarla.
> >
> > Ecco, guarda:
> >
> >
> >
> > Possibile che solo a me lo fa?
>
> Se usi il link "Forum dei Troll / Principale" è più lento di solito. E` quello che stai cercando di caricare?
Si`.
Ho rilevato anche un 5mila e rotti (5 secondi) su "Sondaggi".-
Re: La query dei thread aggiornati...Scritto da: altg
> > > > > > ...e` un calvario.
> > > > > >
> > > > > > Pagina generata in 33025 millisecondi
> > > > >
> > > > > Pagina generata in 34 millisecondi
> > > > >
> > > > > a me va.
> > > >
> > > > Si`, ora che ha cachato tutto, va.
> > > > Riprova fra un po', quando tutti si sono scordati di pigiarla.
> > >
> > > Ecco, guarda:
> > >
> > >
> > >
> > > Possibile che solo a me lo fa?
> >
> > Se usi il link "Forum dei Troll / Principale" è più lento di solito. E` quello che stai cercando di caricare?
>
> Si`.
> Ho rilevato anche un 5mila e rotti (5 secondi) su "Sondaggi".
Sondaggi è poco usato, è sempre fuori cache.Young professional woman and busy mom.
-
Re: La query dei thread aggiornati...Scritto da: altg
> > > > > > ...e` un calvario.
> > > > > >
> > > > > > Pagina generata in 33025 millisecondi
> > > > >
> > > > > Pagina generata in 34 millisecondi
> > > > >
> > > > > a me va.
> > > >
> > > > Si`, ora che ha cachato tutto, va.
> > > > Riprova fra un po', quando tutti si sono scordati di pigiarla.
> > >
> > > Ecco, guarda:
> > >
> > >
> > >
> > > Possibile che solo a me lo fa?
> >
> > Se usi il link "Forum dei Troll / Principale" è più lento di solito. E` quello che stai cercando di caricare?
>
> Si`.
> Ho rilevato anche un 5mila e rotti (5 secondi) su "Sondaggi".
è colpa di Opera, hai provato a riavviare?Please consider the environment before printing this message, 50% of the above is useless!-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-15 19:35:09.0 alle 2012-04-15 19:35:09.0Trollate totali: 11540> > > > > > > ...e` un calvario.

> > > > > > >
> > > > > > > Pagina generata in 33025 millisecondi
> > > > > >
> > > > > > Pagina generata in 34 millisecondi
> > > > > >
> > > > > > a me va.
> > > > >
> > > > > Si`, ora che ha cachato tutto, va.
> > > > > Riprova fra un po', quando tutti si sono scordati di pigiarla.
> > > >
> > > > Ecco, guarda:
> > > >
> > > >
> > > >
> > > > Possibile che solo a me lo fa?
> > >
> > > Se usi il link "Forum dei Troll / Principale" è più lento di solito. E` quello che stai cercando di caricare?
> >
> > Si`.
> > Ho rilevato anche un 5mila e rotti (5 secondi) su "Sondaggi".
>
> è colpa di Opera, hai provato a riavviare?
E chi me lo fa fare?
Se la colpa e` di Opera, posso permettermi di farvi un DoS con un click.
-
-
-
-
-
-
-
Re: La query dei thread aggiornati...ora dovrebbe andare meglioYoung professional woman and busy mom.
-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-15 22:28:12.0 alle 2012-04-15 22:28:12.0Trollate totali: 11540> ora dovrebbe andare meglio
Molto meglio, a giudicare da UNA request fatta ora.
Sul lungo periodo non so, ma mi fido.
-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-15 22:46:13.0 alle 2012-04-15 22:46:13.0Trollate totali: 11540PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?
-
Re: La query dei thread aggiornati...Scritto daNon Autenticatoil 2012-04-16 00:36:08.0 alle 2012-04-16 00:36:08.0> PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?

È per la rubrica "Parliamo di informatica"?
-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-16 03:24:20.0 alle 2012-04-16 03:24:20.0Trollate totali: 11540> > PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?

>
> È per la rubrica "Parliamo di informatica"?
Anche, ma piu` che altro e` per la rubrica: impariamo a scrivere CMS e forum engines cosi` se poi qualcuno ci assume e ci si imbatte in un problema simile (che io fin qui non ho avuto ma non si sa mai), sappiamo in cosa potrebbe consistere.-
Re: La query dei thread aggiornati...Scritto da: altg
> > > PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?
> >
> > È per la rubrica "Parliamo di informatica"?
>
> Anche, ma piu` che altro e` per la rubrica: impariamo a scrivere CMS e forum engines cosi` se poi qualcuno ci assume e ci si imbatte in un problema simile (che io fin qui non ho avuto ma non si sa mai), sappiamo in cosa potrebbe consistere.
Se usi PHP non succede.
-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-16 03:30:20.0 alle 2012-04-16 03:30:20.0Trollate totali: 11540> > > > PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?

> > >
> > > È per la rubrica "Parliamo di informatica"?
> >
> > Anche, ma piu` che altro e` per la rubrica: impariamo a scrivere CMS e forum engines cosi` se poi qualcuno ci assume e ci si imbatte in un problema simile (che io fin qui non ho avuto ma non si sa mai), sappiamo in cosa potrebbe consistere.
>
> Se usi PHP non succede.
Non ho la piu` pallida idea di dove succeda.
Io uso il PHP e MySQL come fa il pollo assembly.
Quello che prima costruisce la strada e poi l'attraversa.
Prima costruisco il file system e la cache, poi uso la mia roba.
-
Re: La query dei thread aggiornati...Scritto da: altg
> > > > > PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?
> > > >
> > > > È per la rubrica "Parliamo di informatica"?
> > >
> > > Anche, ma piu` che altro e` per la rubrica: impariamo a scrivere CMS e forum engines cosi` se poi qualcuno ci assume e ci si imbatte in un problema simile (che io fin qui non ho avuto ma non si sa mai), sappiamo in cosa potrebbe consistere.
> >
> > Se usi PHP non succede.
>
> Non ho la piu` pallida idea di dove succeda.
È più o meno come mi sento io quando guardo il codice del forum...
> Io uso il PHP e MySQL come fa il pollo assembly.
> Quello che prima costruisce la strada e poi l'attraversa.
> Prima costruisco il file system e la cache, poi uso la mia roba.
Bé, a parte poca roba (come il componente javascript per il "code") credo che anche questo forum sia costruito dalle basi in su...
Cmq credo centri con una query che prima era annidiata e ora si è trovato il modo di farla senza annidiamento o qualcosa del genere.-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-16 04:21:04.0 alle 2012-04-16 04:21:04.0Trollate totali: 11540> Cmq credo centri con una query che prima era annidiata e ora si è trovato il modo di farla senza annidiamento o qualcosa del genere.
Ah ecco, il problema erano le uova, che intoppavano tutta la cache.-
Re: La query dei thread aggiornati...Scritto da: altg
> > Cmq credo centri con una query che prima era annidiata e ora si è trovato il modo di farla senza annidiamento o qualcosa del genere.
>
> Ah ecco, il problema erano le uova, che intoppavano tutta la cache.
Però sono buone...
-
-
-
-
-
-
-
Re: La query dei thread aggiornati...Scritto da: altg
> PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?
Si tratta di 4 query diverse per i casi Tutto/forum a scelta, e nascondi o meno la procura.
Prima veniva eseguita la funzione di raggruppamento max su tutta la tabella, ora usa il distinct per scremare l'insieme di record su cui applicare il max.
Un esempio che copre due dei quattro casi, gli altri due sono simili:SELECT MAX(id) AS mid FROM messages -- WHERE (forum IS NULL OR forum != 'Proc di Catania') -- solo se nascondi procura GROUP BY threadid ORDER BY mid DESC LIMIT ? OFFSET ? -- diventa SELECT MAX(`id`) AS mid FROM messages JOIN ( SELECT DISTINCT `threadId` FROM messages -- WHERE (forum IS NULL OR forum != 'Proc di Catania') ORDER BY `id` DESC LIMIT ? OFFSET ? ) AS threadIds ON (threadIds.threadId = messages.threadId) GROUP BY messages.threadId ORDER BY mid DESC
Il distinct deve verificare la presenza del threadId solo nel subset scelto (nel nostro caso sono massimo 20 records) scorrendo l'indice della chiave primaria id dal basso. Sui 20 record la join tira fuori tutti gli id dei messaggi di quei 20 thread (male che va saranno 2-300 record) e su questi applica il max.Young professional woman and busy mom.-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-16 12:36:04.0 alle 2012-04-16 12:36:04.0Trollate totali: 11540> > PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?

>
> Si tratta di 4 query diverse per i casi Tutto/forum a scelta, e nascondi o meno la procura.
> Prima veniva eseguita la funzione di raggruppamento max su tutta la tabella, ora usa il distinct per scremare l'insieme di record su cui applicare il max.
>
> Un esempio che copre due dei quattro casi, gli altri due sono simili:
>> SELECT MAX(id) AS mid > FROM messages > -- WHERE (forum IS NULL OR forum != 'Proc di Catania') -- solo se nascondi procura > GROUP BY threadid > ORDER BY mid DESC > LIMIT ? OFFSET ? > > -- diventa > SELECT MAX(`id`) AS mid > FROM messages JOIN ( > SELECT DISTINCT `threadId` > FROM messages > -- WHERE (forum IS NULL OR forum != 'Proc di Catania') > ORDER BY `id` DESC > LIMIT ? OFFSET ? > ) AS threadIds > ON (threadIds.threadId = messages.threadId) > GROUP BY messages.threadId > ORDER BY mid DESC >
>
> Il distinct deve verificare la presenza del threadId solo nel subset scelto (nel nostro caso sono massimo 20 records) scorrendo l'indice della chiave primaria id dal basso. Sui 20 record la join tira fuori tutti gli id dei messaggi di quei 20 thread (male che va saranno 2-300 record) e su questi applica il max.
Ah.
Aah.
Ah!
Macche`.
Non riesco a capire dov'e` specificato il sottoinsieme e il limite di 20.
Dici che potrebbe dipendere dal fatto che non capisco SQL?
[Il che mi rende da un lato impreparato, dall'altro mi rende meno esposto al problema di sbagliare a ottimizzare una query perche` uso solo queries non ottimizzabili (perche` il filtraggio e la sua ottimizzazione non e` nella query), e mi costringe a ricorrere a espedienti piu` mirati e sicuramente piuttosto rapidi, tipo mantenere una piccola lista di tutti i thread IDs piu` aggiornati, ma questa non vuol'essere una specie di vanteria: e` solo il modo assurdo in cui funziono io.]-
Re: La query dei thread aggiornati...Scritto da: altg
> > > PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?
> >
> > Si tratta di 4 query diverse per i casi Tutto/forum a scelta, e nascondi o meno la procura.
> > Prima veniva eseguita la funzione di raggruppamento max su tutta la tabella, ora usa il distinct per scremare l'insieme di record su cui applicare il max.
> >
> > Un esempio che copre due dei quattro casi, gli altri due sono simili:
> >> > SELECT MAX(id) AS mid > > FROM messages > > -- WHERE (forum IS NULL OR forum != 'Proc di Catania') -- solo se nascondi procura > > GROUP BY threadid > > ORDER BY mid DESC > > LIMIT ? OFFSET ? > > > > -- diventa > > SELECT MAX(`id`) AS mid > > FROM messages JOIN ( > > SELECT DISTINCT `threadId` > > FROM messages > > -- WHERE (forum IS NULL OR forum != 'Proc di Catania') > > ORDER BY `id` DESC > > LIMIT ? OFFSET ? > > ) AS threadIds > > ON (threadIds.threadId = messages.threadId) > > GROUP BY messages.threadId > > ORDER BY mid DESC > >
> >
> > Il distinct deve verificare la presenza del threadId solo nel subset scelto (nel nostro caso sono massimo 20 records) scorrendo l'indice della chiave primaria id dal basso. Sui 20 record la join tira fuori tutti gli id dei messaggi di quei 20 thread (male che va saranno 2-300 record) e su questi applica il max.
>
> Ah.
> Aah.
> Ah!
>
> Macche`.
>
> Non riesco a capire dov'e` specificato il sottoinsieme e il limite di 20.
> Dici che potrebbe dipendere dal fatto che non capisco SQL?
>
> [Il che mi rende da un lato impreparato, dall'altro mi rende meno esposto al problema di sbagliare a ottimizzare una query perche` uso solo queries non ottimizzabili (perche` il filtraggio e la sua ottimizzazione non e` nella query), e mi costringe a ricorrere a espedienti piu` mirati e sicuramente piuttosto rapidi, tipo mantenere una piccola lista di tutti i thread IDs piu` aggiornati, ma questa non vuol'essere una specie di vanteria: e` solo il modo assurdo in cui funziono io.]
Nel LIMIT ? OFFSET ? al posto dei punti interrogativi ci finisce 20 e il multiplo di venti che indica dove partire (0 per pagina 1, 20 per pagina 2...)
Hai un modo di funzionare poco scalabile.
Sql è un linguaggio terribile, l'explain di mysql è praticamente inutile.
Io mi sono `formato` usando l'explain di oracle, esaustivo e decisamente completo.
Tuttavia se riesci a far lavorare il dbms per te, è tutto di guadagnato. Più cose fa lui, meno ne fai te.
Considera pure che più dati devono transitare tra db e applicazione e più sarai lento.
Fosse per me, si usarebbero solo stored procedures per tutto: 0 possibilità di sql injection, massime performances perché non devi far viaggiare degli stringoni - le query - tra applicazione e db e farli ri-parsare dall'ottimizzatore del dbms, oppure farle hashare per cercare nella cache delle query frequenti...Young professional woman and busy mom.-
Re: La query dei thread aggiornati...Scritto daaltgutente che non utieneil 2012-04-16 13:17:50.0 alle 2012-04-16 13:17:50.0Trollate totali: 11540> > > > PEr curiosita`, nel caso che un giorno succedesse a me, cos'era che causava la lentezza e come l'hai risolta?

> > >
> > > Si tratta di 4 query diverse per i casi Tutto/forum a scelta, e nascondi o meno la procura.
> > > Prima veniva eseguita la funzione di raggruppamento max su tutta la tabella, ora usa il distinct per scremare l'insieme di record su cui applicare il max.
> > >
> > > Un esempio che copre due dei quattro casi, gli altri due sono simili:
> > >> > > SELECT MAX(id) AS mid > > > FROM messages > > > -- WHERE (forum IS NULL OR forum != 'Proc di Catania') -- solo se nascondi procura > > > GROUP BY threadid > > > ORDER BY mid DESC > > > LIMIT ? OFFSET ? > > > > > > -- diventa > > > SELECT MAX(`id`) AS mid > > > FROM messages JOIN ( > > > SELECT DISTINCT `threadId` > > > FROM messages > > > -- WHERE (forum IS NULL OR forum != 'Proc di Catania') > > > ORDER BY `id` DESC > > > LIMIT ? OFFSET ? > > > ) AS threadIds > > > ON (threadIds.threadId = messages.threadId) > > > GROUP BY messages.threadId > > > ORDER BY mid DESC > > >
> > >
> > > Il distinct deve verificare la presenza del threadId solo nel subset scelto (nel nostro caso sono massimo 20 records) scorrendo l'indice della chiave primaria id dal basso. Sui 20 record la join tira fuori tutti gli id dei messaggi di quei 20 thread (male che va saranno 2-300 record) e su questi applica il max.
> >
> > Ah.
> > Aah.
> > Ah!
> >
> > Macche`.
> >
> > Non riesco a capire dov'e` specificato il sottoinsieme e il limite di 20.
> > Dici che potrebbe dipendere dal fatto che non capisco SQL?
> >
> > [Il che mi rende da un lato impreparato, dall'altro mi rende meno esposto al problema di sbagliare a ottimizzare una query perche` uso solo queries non ottimizzabili (perche` il filtraggio e la sua ottimizzazione non e` nella query), e mi costringe a ricorrere a espedienti piu` mirati e sicuramente piuttosto rapidi, tipo mantenere una piccola lista di tutti i thread IDs piu` aggiornati, ma questa non vuol'essere una specie di vanteria: e` solo il modo assurdo in cui funziono io.]
>
> Nel LIMIT ? OFFSET ? al posto dei punti interrogativi ci finisce 20 e il multiplo di venti che indica dove partire (0 per pagina 1, 20 per pagina 2...)
AH! Ora e` chiaro, pensavo che il punto interrogativo facesse parte di una qualche strana sintassi che li ereditava da non-so-dove.
> Hai un modo di funzionare poco scalabile.
Si`, e` un modo di funzionare molto incentrato sul "qui e ora", una specie di adattamento evolutivo ultraspecializzato del prodotto, di quelli che poi portano alle estinzioni di massa quando cambia qualcosa.
Quando cambia qualcosa, magari riscrivo tutto.
Non so dire se sia meglio o peggio.
Meno produttivo di certo.
> Sql è un linguaggio terribile, l'explain di mysql è praticamente inutile.
Tanto non l'ho mai davvero usato. La storia completa e` che, quando scrissi il mio forum engine, iniziai con un server che non aveva un DBMS e poteva usare solo files, che pero` tendevano a essere poco thread-safe e venivano a volte disturbati da processi di backup in cron. Quando sullo stesso host arrivo` la possibilita` di usare SQL, passai a SQL per risolvere quei problemi, ma mi piacque mantenere la possibilita` di tornare allo storage in flat file. Sicche` ando` a finire che usai SQL come semplice surrogato di file system.
Anche per il fascino di fare una cosa strana.
> Io mi sono `formato` usando l'explain di oracle, esaustivo e decisamente completo.
> Tuttavia se riesci a far lavorare il dbms per te, è tutto di guadagnato. Più cose fa lui, meno ne fai te.
> Considera pure che più dati devono transitare tra db e applicazione e più sarai lento.
> Fosse per me, si usarebbero solo stored procedures per tutto: 0 possibilità di sql injection, massime performances perché non devi far viaggiare degli stringoni - le query - tra applicazione e db e farli ri-parsare dall'ottimizzatore del dbms, oppure farle hashare per cercare nella cache delle query frequenti...
Cioe` ti appoggi interamente al DBMS. Io prima di appoggiarmi a qualcosa, tendo a voler essere sicuro che quel qualcosa sia persistente nel tempo, anche se poi il mio scartare certe cose dipende in gran parte da quando quelle cose sono state introdotte al grande pubblico (fra cui a me): se troppo tardi, tendo a non adottarle o ad adottarle con mooolto ritardo. Forse e` un mio adattamento evolutivo alla sparizione dei sistemini su cui lavoravo un tempo. Oggi il mondo tende ad essere piu` costante e standardizzato, e penso che se avessi cominciato oggi sarei molto meno diffidente dalle componenti che non sono sotto il mio diretto controllo.-
Re: La query dei thread aggiornati...Scritto daNon Autenticatoil 2012-04-16 13:20:03.0 alle 2012-04-16 13:20:03.0Scritto da: altg
> > Nel LIMIT ? OFFSET ? al posto dei punti interrogativi ci finisce 20 e il multiplo di venti che indica dove partire (0 per pagina 1, 20 per pagina 2...)
>
> AH! Ora e` chiaro, pensavo che il punto interrogativo facesse parte di una qualche strana sintassi che li ereditava da non-so-dove.
si, sono i parametri della query...
-
-
-
-
-
-
-