Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    509
    ho dovuto modificare ulteriormente la query perché com'era non trovava il progressivo massimo, ma solo i buchi.
    i tempi della query non sono cambiati.

    2)codice è già primaria quindi ok.
    3) la tabella di numeri la sto testando, ma sembra più lenta che non avere una colonna temporanea. almeno per ora che i codici hanno un progressivo basso, probabilmente verso la fine ( 99.999 ) potrebbe essere vero il contrario.

    per il punto 1) purtroppo non posso cambiare in INT perché la tabella ospita piu tipi di dati.

    codice è un codice a barre.

    ci sono articoli vecchi il cui codice era "12345"
    ci sono i nuovi articoli il cui codice è "00012.1234.1234.00005" dove ogni sezione indica qualcosa
    (es. articolo.colore.marca.progressivo)

    il problema è che se trasformo il campo in un INT unsigned ZERO FILL
    i codici vecchi diverrebbero 00000.0000.0000.12345 (uso i punti per una facile lettura ma non andrebbero)

    e ricercandoli poi ci sarebbero dei problemi con il tempo perché
    12345 può essere sia un codice di un articolo finale che il codice articolo identificativo.
    si potrebbe cadere in errore.

    specie perchè chi mi ha inserito gli articoli prima, ha inserito l'articolo "1" e l'articolo "0001"

    valuterò meglio la gestione della tabella e la join.

    grazie per il consiglio

  2. #12
    Utente di HTML.it
    Registrato dal
    Apr 2014
    residenza
    Genova, presenza costante a Milano
    Messaggi
    100
    Allora provo a darti qualche altro consiglio

    1) Non puoi aggiungere gli 0 in tabella (invece di aggiungerli nelle SELECT) e usare CHAR?
    2) La tabella dei numeri puoi farla di tipo MEMORY.
    3) Visto che non puoi usare un INT, puoi usare il charset ASCII, almeno hai 1 byte per carattere.
    4) Qualunque cosa tu decida, numeri.codice dovrebbe essere dello stesso tipo (e charset) di articoli.codice
    5) Se la join continua a essere lenta, fai una EXPLAIN e postala qui, vediamo cosa c'è che non va.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.