Grazie, sapevo di essere un genio
trhacker
@trhacker
Post creati da trhacker
-
RE: Limitare la ricerca in una query MySQL
-
RE: Limitare la ricerca in una query MySQL
Ho una domanda che si ricollega a questo.
Ho una tabella INNO_DB in MySQL che potrà arrivare ad avere circa 50000 records, da cui ho bisogno di estrarre i totali degli importi degli articoli.
Considerando che ogni articolo può essere ripetuto più volte (diciamo in media fino a 5 volte), ed è contraddistinto da un ID indicizzato, dovrei calcolare con una SELECT SUM il totale importo per ogni articolo.Quindi, se l?ID è indicizzato, facendo
SELECT SUM(importo) FROM tabella WHERE id=x
dovrebbero essere analizzati solo i campi per i quali la clausola WHERE è soddisfatta, dato che ID è un indice: in questo modo verranno analizzati solo 5 campi di media e non 50000, giusto?Ho provato ad utilizzare EXPLAIN SELECT SUM, e mi indica ROWS 4: questo dato dovrebbe essere il numero effettivo di rows analizzate, giusto? che corrisponde con i campi effettivamente interessati dalla SELECT SUM, cioè i campi che soddisfano la condizione WHERE
Infatti se faccio EXPLAIN SELECT SUM, utilizzando come campo condizionale nella clausola WHERE un campo non indicizzato, ROWS restituisce il numero totale di campi nella tabella.In ultima analisi, facendo la query su un campo indicizzato, non vengono analizzate tutte le righe, giusto? quindi il carico di lavoro per il database trascurabile (almeno nel mio caso con poche ripetizioni per ogni articolo)
Ho ragione?
Possibili risposte:
- Sì, sei un grande, hai capito tutto di MySQL
- Hai ragione fino a un certo punto...
- Non hai capito un accidenti
- Ma di ke stai a parlà?
- Con questa bella giornata, non te ne potevi andare al mare?
PS Scusate l'esaurimento
-
Limitare la ricerca in una query MySQL
Salve a tutti, ho una domanda per ottimizzare il tempo necessario per effettuare alcune query.
E' possibile limitare la ricerca ad un dato numero di record estratti?
Mi spiego meglio: voglio dire al database, trova i primi 10 record che soddisfano determinati criteri, e quando li hai trovati, interrompi la ricerca.
Ci sarebbe la clausola LIMIT, ma questa agisce solo sulla visualizzazione dei record trovati, in sostanza limita solo il numero di record che vengono visualizzati, ma la query è portata a termine fino in fondo.
Esiste invece una qualche procedura per interrrompere la ricerca una volta trovato il num. di record specificato, in modo da rendere la query più veloce? Magari con un WHERE? boh -
RE: Db gratuiti su Windows
@Gorka said:
Nella suite di openoffice c'è il programma base che è simile all'access ed è gratuito.
Non so però come si comporta con grandi quantità di dati.Non ci avevo pensato, mo mi informo, magari lo provo.
Se ci sono altri consigli cmq sempre bene accetti.
Ciao -
RE: Db gratuiti su Windows
@Giorgiotave said:
Spetta....sotto Windows gira pure Mysql...o forse non ho capito la domanda?
infatti mi sa ke non hai capito la domanda
Non ho bisogno di un DB client-server tipo MySQL, ma di un DB <<grafico>> tipo Access: deve servire su una sola postazione e per un unico utente, e darmi la possibilità di creare maschere ecc. -
RE: Ordinare una select dall'ultimo record inserito
Ho risolto, certo che a volte il cervello gira proprio a rilento...
Avendo come chiave primaria della tabella un id autoincrementante, faccio un ORDER BY desc in base all'id.
Sorry per aver aperto questo topic inutile...
-
Ordinare una select dall'ultimo record inserito
Quando si fa una SELECT senza usare la clausola ORDER BY, MySQL restitituisce il risultato partendo dal primo record inserito fino ad arrivare all'ultimo.
E' possibile ordinarlo al contratio, visualizzando cioè un elenco ordinato dall'ultimo record al primo? -
RE: Disabilitare accesso diretto a pagine wrappate
Ah, bene, allora proverò consentendo l'accesso solo da localhost, non mi veniva in mente che regola mettere, questa dovrebbe funzionare, grazie
<img> -
Db gratuiti su Windows
Ciao, ci sono dei DB in locale (tipo Access per intenderci) gratuiti che girano sotto Windows?
Qualcosa di affidabile e solido, che non si impalli con DB di grandi dimensioni (come fa Access...) -
Disabilitare accesso diretto a pagine wrappate
Salve a tutti, ho delle pagine wrappate che non voglio vengano viste al di fuori di joomla.
Come posso fare a disabilitare l'accesso doretto via URL? Con htaccess? Se sì, come?Grazie per l'aiuto
-
RE: Query su di una tabella dove il campo iniza con una data stringa
@KicKFLiP said:
esattamente... % è un caratteere jolly.... è come * nel vecchio ms-dos... wow... che tempi che erano! CIao e buon lavoro!
Già, e i tempi dell'AMiga... <img>
cmq ankio sn di Pescara <img>...acc, perchè non mi funzionano gli smilies?!
-
RE: Query su di una tabella dove il campo iniza con una data stringa
@luic77 said:
select * from tabella where nomecampo like '01%'
Cavolo è vero! mi ci ero già imbattuto in LIKE
mentre se faccio
where nomecampo like '%01%'
considera tutti i risultati che contengono "01", giusto?Grazie, ciao
-
Query su di una tabella dove il campo iniza con una data stringa
Devo fare una query su di una tabella, selezionando solo i risultati per cui un determinato campo (di tipo VARCHAR), inizio con una data stringa (es. "01").
E' possibile?
Ciao e grazie
-
RE: Campi calcolati su MySQL
Infatti mi sa che non si può fare. Forse con i triggers, ma siccome sto lavorando su MySQL 4 non sono supportati...
-
Campi calcolati su MySQL
Ciao, volvo sapere se è possibile definire, in una tabella MySQL, dei campi calcolati. Per campi calcolati intendo:
Ho una tebella con 3 campi numerici: A, B, C
Vorrei definire il campo C come somma tra A e B, in modo che, quando cambia il valore di A o B, automaticamente viene aggiornato il campo C (un po come avviene per le foreign key quando cambia il valore nella chiave padre).Si può fare?
-
RE: Istruzione SELECT su MySQL
@probid said:
Includi nella query WHERE campo != "record"
!= significa diversoGrazie per la prontezza, mamma mia ke velocità! <img>
Però non era questo di cui avevo bisogno <img>
non voglio escludere delle righe dalla query, ma delle colonne
Mi spiego meglio:
ho una tabella composta da diverse colonne (o campi), nella mia query io voglio mostrare tutte le righe della tabella, nascondendo gli ultimi due campiinvece di fare una query del tipo
SELECT 'campo1','campo2',...,'campox' FROM 'tabella'
volevo una cosa del tipo
SELECT * *meno campox *FROM 'tabella'
in modo ke mi riporta tutti i campi tranne quelli indicatiE' possibile una cosa del genere??? (lo spero...) <img>
-
Istruzione SELECT su MySQL
Ciao a tutti, volevo sapere una cosa:
è possibile fare una SELECT di tutte le colonne di una tabella tranne alcune?
Non elencando le colonne che volgio includere nella select, ma indicando solo quelle da escludere....