Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [MYSQL] Mysql full text e innodb

    SAlve, ho un problema. Dato un sito con 2.000.000 di record in una tabella mysql devo fare una ricerca sulle parole interne.

    Sino a poche ore fa usavo il like e la velocità era da 0. Cercando online ho trovato gli indici full text.

    Per prima cosa ho visto che non vanno bene sulle abelle inooDB (e ti pareva se io non avevo creato tabelle innoDB).
    Ho creato una tabella prodotti2 di tipo myisam e ho creato involontaramente un indice full text su prodotti1....cosa che in locale non posso fare ma sul server che ospita il DB si.


    Le ricerche continuano però a restare lente.

    Domande:

    Al momento della creazione, se non supportato il full text, non doveva darmi errore come in locale???

    E la query che ne consegue (MATCH(titolo) AGAINST('pippo')) perchè nnon mi da errore?

    Con una tabella myisam il tutto andrebbe più veloce?

  2. #2
    Ok, full text va ora anche con tabele innodb, ma i risualtati sono 0

  3. #3
    Ok, magari è il caso di eliminare la discussione.... sbagliavo l' ftp del sito.......

  4. #4
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Stai usando gli strumenti sbagliati, se vuoi fare qualcosa di vagamente veloce.
    "veloce" significa query full text in 50 millisecondi (massimi)

  5. #5
    Ora funziona. Avevo creato male un indice.

    Problema 2
    Il tutto funziona e pure veloce.
    Però non con caratteri tipo:
    - ] # e il . punto

  6. #6
    Io non ho ancora avuto il piacere di usare il fulltext di innodb, ma suppongo non sia radicalmente diverso dagli altri fulltext esistenti.

    Il fulltext è fatto per cercare le parole, e non qualsiasi stringa di caratteri.

    Il - è un carattere speciale:
    squadra -calcio
    troverà record in cui c'è la parola squadra ma non calcio.

  7. #7
    In pratica il - di un codice prodotto viene interpretato come il meno del full text.

    ...se ci prenddi mano i full text sono uno spasso.

  8. #8
    Beh certo, il tulltext è fatto per cercare parole (anche coniugate) in un testo di tipo discorsivo. Puoi configurare MySQL per capire parole specifiche come AS/400 nonostante contenga / però ripeto, puoi farlo solo con parole specifiche.
    Può darsi, ma non ne sono per niente sicuro (perché non uso più da tempo il fulltext di MySQL, ma uso Sphinx) che tu possa cercare il codice prodotto tra virgolette:

    MATCH('buy product "12-000"') AGAINST ....

  9. #9
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da in the web
    Io non ho ancora avuto il piacere di usare il fulltext di innodb, ma suppongo non sia radicalmente diverso dagli altri fulltext esistenti.
    Supponi male.

  10. #10
    Originariamente inviato da franzauker2.0
    Supponi male.
    ...Sfortunatamente è vero ..... ho dovuto lavorare di codice asp.net per le varie limitazioni sui caratteri . ..per ora mi accontento..... e io speriamo che me la cavo.

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.