View Full Version : [C#/Java]ma "01", "02" etc.. che 'tipi' sono?
RaouL_BennetH
25-11-2007, 14:29
Ciao :)
Come da titolo, come posso rappresentare questi valori?
sono uint? int? char? string?!?
Grazie mille :)
RaouL.
Come da titolo, come posso rappresentare questi valori?
sono uint? int? char? string?!?In Java una stringa "literal" è un oggetto di tipo String. In C# credo che sia una cosa equivalente.
RaouL_BennetH
26-11-2007, 14:06
In Java una stringa "literal" è un oggetto di tipo String. In C# credo che sia una cosa equivalente.
ahia :(
Allora è come pensavo...
Purtroppo in vari sistemi gestionali i codici di conto per convenzione sono divisi così:
"00" <- codice testa
"0000" <-sottogruppo cat. contabile
"00" <-conto
ma è un casino però fare delle ricerche efficienti su questi tipi :muro:
Purtroppo in vari sistemi gestionali i codici di conto per convenzione sono divisi così:
"00" <- codice testa
"0000" <-sottogruppo cat. contabile
"00" <-conto
ma è un casino però fare delle ricerche efficienti su questi tipi :muro:In che senso??? Dipende da cosa devi fare ...
Le stringhe sono oggetti String, dipende cosa ci devi fare e dove le devi usare.
RaouL_BennetH
26-11-2007, 15:26
In che senso??? Dipende da cosa devi fare ...
Le stringhe sono oggetti String, dipende cosa ci devi fare e dove le devi usare.
C'è un anagrafica che riguarda il piano dei conti della contabilità di un'azienda.
Quest'anagrafica, porta come indici dei valori come li ho descritti, che quindi sono di tipo String.
Questo mi comporta che per fare delle ricerche su quest'anagrafica, mi risulta tutto palesemente più lento che se avessi usato degli unsigned int, come di solito avviene per gli indici o per le chiavi primarie di un db.
Come potrei ottimizzare la ricerca quindi su questi oggetti di tipo string?
Grazie mille :)
RaouL.
qwerty86
26-11-2007, 18:56
C'è un anagrafica che riguarda il piano dei conti della contabilità di un'azienda.
Quest'anagrafica, porta come indici dei valori come li ho descritti, che quindi sono di tipo String.
Questo mi comporta che per fare delle ricerche su quest'anagrafica, mi risulta tutto palesemente più lento che se avessi usato degli unsigned int, come di solito avviene per gli indici o per le chiavi primarie di un db.
Come potrei ottimizzare la ricerca quindi su questi oggetti di tipo string?
Grazie mille :)
RaouL.
Convertirli in interi ??
RaouL_BennetH
27-11-2007, 11:01
Convertirli in interi ??
Non mi è possibile variare i campi all'interno del database :(
Ma la ricerca la devi fare tramite codice o tramite database ?
Se le devi fare tramite codice puoi creare un indice a più livelli o una hash table...
RaouL_BennetH
27-11-2007, 12:34
Ma la ricerca la devi fare tramite codice o tramite database ?
Se le devi fare tramite codice puoi creare un indice a più livelli o una hash table...
Tramite le classiche select del db. Però ammetto che non avevo pensato di provarci via codice. Grazie :)
Nono...ti conviene farla tramite DB. Non ho ben capito qual è il problema. Il DB è troppo lento con la ricerca ?
RaouL_BennetH
27-11-2007, 15:50
Nono...ti conviene farla tramite DB. Non ho ben capito qual è il problema. Il DB è troppo lento con la ricerca ?
E' molto lento. Per cercare ad esempio: "01203007" ci mette all'incirca una quarantina di secondi.
Ma il campo è indicizzato ?
RaouL_BennetH
27-11-2007, 17:13
Ma il campo è indicizzato ?
purtroppo non so se lo è :( Non ho i privilegi necessari per fare un describe delle tabelle sul db. C'è qualche maniera per capirlo via codice?
Grazie.
RaouL.
Sai se è chiave primaria ?
Quanti sono i record ?
RaouL_BennetH
27-11-2007, 17:21
Sai se è chiave primaria ?
Quanti sono i record ?
Di sicuro non è chiave primaria. I record sono più di centomila.
Grazie :)
RaouL.
Allora è un bel casotto. Variano molto i record oppure è una tabella quanto meno statica ?
RaouL_BennetH
27-11-2007, 17:35
Allora è un bel casotto. Variano molto i record oppure è una tabella quanto meno statica ?
variano molto le ultime 2 cifre.
La mia domanda è diversa: questa tabella da chi viene cambiata ? Viene cambiata spesso ?
RaouL_BennetH
28-11-2007, 11:03
La mia domanda è diversa: questa tabella da chi viene cambiata ? Viene cambiata spesso ?
Ah, scusa :(
Si, cambia praticamente ad ogni movimento contabile (fattura, riba, prima nota etc..). Volendo fare una media, all'incirca trecento movimenti tra inserimenti e modifiche al giorno.
C'è un modo di fare una query per visualizzare solo gli ultimi dati cambiati ?
RaouL_BennetH
28-11-2007, 15:18
C'è un modo di fare una query per visualizzare solo gli ultimi dati cambiati ?
uhm.. non saprei come recuperare solo gli ultimi dati cambiati :(
mi sto leggendo come funziona LAST_INSERT_ID(), magari riesco a farlo :)
Con quello riesci a recuperare solo l'ultimo...
C'è una data/ora di inserimento del record/operazione fra i campi ?
In tal caso potresti scaricare in modo cumulativo i dati. Basterebbe mettere la data e l'ora dell'ultimo record in tuo possesso e selezionare tutti queli con data/ora uguale o superiore.
A quel punto ti dovresti indicizzare i dati in locale in base al campo che ti interessa. Le ricerche diventerebbero più o meno istantanee.
L'unico problema è che potresti avere dei record non consistenti con quelli presenti nel DB...c'è la possibilità che i record vengano modificati o eliminati ?
RaouL_BennetH
29-11-2007, 09:22
Con quello riesci a recuperare solo l'ultimo...
C'è una data/ora di inserimento del record/operazione fra i campi ?
Nella tabella non c'è nessun riferimento 'temporaneo'; potrei ricavarlo in altra maniera ?
In tal caso potresti scaricare in modo cumulativo i dati. Basterebbe mettere la data e l'ora dell'ultimo record in tuo possesso e selezionare tutti queli con data/ora uguale o superiore.
A quel punto ti dovresti indicizzare i dati in locale in base al campo che ti interessa. Le ricerche diventerebbero più o meno istantanee.
L'unico problema è che potresti avere dei record non consistenti con quelli presenti nel DB...c'è la possibilità che i record vengano modificati o eliminati ?
Modificati si, eliminati no, o meglio, possono essere annullati, nella riga corrispondente viene settato un flag a 1 in caso di richiesta di annullamento operazione.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.