accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Problema su lettura tabella in multiutenza

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  it.comp.appl.access ] 

Retour : Accueil du site it comp appl access  


  Sujet:   Re: Problema su lettura tabella in multiutenza  
 De: a...@ay-1asistemi.it (Alessandro Cara)
 Groupes: it.comp.appl.access
 Date: 28. Aug 2008, 13:02:04
 References: 1 2 3
Fair87 ha scritto:
> Alessandro Cara ha scritto:
>> Fair87 ha scritto:
>>> Ciao a tutti, una domanda: come si può 'snellire' la sola lettura di una
tabellona su cui devo fare delle ricerche (è un catalogo....) in multiutenza? La
tabella è la base di una form richiamata da codice con una variabile d'ambiente
che passa la stringa SQL e la form è già in sola lettura (snapshot) solo che le
ricerche contemporanee sono mooooolto lente....consigli?
>>>
>> Perdonami ma non e' chiaro.
>> La ricerca su una stazione sola e' veloce?
>> Cos'e' la tabellona? (Volumi)
>> Che ricerche devi fare?
>> La query ha delle "IN"?
>> --
>> ac
> Scusa Alessandro, chiarisco: ho un catalogo in cui fare ricerche, composite
(titolo, autore, editore, anno di pubblicazione....) dove posso ricercare per
iniziale o per contenuto su tutti i campi. La tabella contiene circa 500000
righe, ogni riga circa 30 campi. In una LAN, una ricerca media per contenuto in
campi compositi richiede circa 10 sec, per iniziali circa 2. Se però attivo un
altro client (utilizzo XpUnlimited) anche la ricerca per iniziali (contemporanea
su 2 client) in un campo solo richiede + di 30/35 secondi. La clausola SQL è
senza IN, ed è impostata sulla tabella archivio, + outer join sulle tabelle di
decodifica. Per il filtro metto tutto nell'espressione WHERE, concatenando i
vari campi della form di ricerca. Ovviamente il WHERE può coinvolgere tutte le
tabelle dell'espressione SQL. Spero di aver chiarito un po' le cose....
> Intanto grazie!!
> 
come direbbero gli americani "is a real pain in the ass".
A quanto dici ci sono 2 punti particolarmente critici
1) La ricerca su tutti i campi, che immagino non sono tutti indexati
2) Le join

Non ho una soluzione pronta in tasca e credo bisogna cominciare a 
definire dove e' il "reale" problema
1)
Sarebbe il caso di mettere su la tabella di "explain", che purtroppo non 
mi ricordo esattamente come attivare (forse c'e' qualcosa sul sito di 
Baraldi), per capire quali sono le strategie di accesso del DB.
2)
Eliminare le join per capire quale incidenza hanno
3)
Se non presenti, mettere su gli indici per le ricerche piu' frequenti
3)
Se ci sono delle "or" sui criteri verificare se queste portano alla 
esclusione della lettura per indici e trovare un "workaround" (i.e. uso 
di union). Fermo restando che ricerche per like, mi sembra, portano 
nella maggioranza dei casi ad accesso per "tablescan".
4) XPUnlimited e' quella roba che "surroga" il terminal server? Se e' 
cosi' diventa un fattore da osservare attentamente poiche' puo' essere 
un collo di bottiglia non indifferente
5)
Sarebbe comunque il caso che ci fai vedere lo "skeleton" della query
6)
Se non si riesce a trovare una "terapia" corretta, usare il bisturi e 
passare ad un DBMS piu' "DBMS"
--
ac


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Free counter and web stats