Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Otimizzazione tabella in base a query

    ho una tabella di questo tipo:
    | uid | column1 | column2 | column3 | column4 |
    e devo eseguire tantissime volte la seguente query:
    SELECT * FROM tabella WHERE column1>=1 AND uid!='.$uid.' AND column2!="" AND column4 regexp "'.$info['column2'].'" AND column3!="" AND column3 LIKE "%'.$info['column4'].'%" ORDER BY RAND() LIMIT 0,1

    mi aiutate a settare gli indici, le chiavi primarie ecc.?
    per il momento 'uid' è primary e auto_increment.

    come devo modificare/settare gli altri?


    grazie



  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Se le colonne sono solo quelle mi sa che c'è poco da fare.
    Ti servirebbero indici su tutte le colonne e non avrebbe senso.
    A meno che non ci siano colonne stringa di una certa lunghezza, nel qual caso ti converrebbe creare indici sui primi 'n' caratteri.

  3. #3
    ho anche altre colonne... ma quella query, che è la più usata in assoluto, fa la selezione solo su quelle colonne...

    cmq la tabella è così composta:
    | uid | username | password | name | email | column1 | column2 | column3 | column4 |
    e altri 2-3 campi che ho intenzione di mettere, ma che nn riguardano quella query :d

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Se hai anche altre colonne allora probabilmente ti conviene mettere indici su quelle quattro

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.