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

    [ARTICOLO] - Utilizzare le operazioni sui bit di PHP per ottimizzare il database

    Salve a tutti segnalo come di prammatica l'uscita (ieri) di un nuovo articolo: "Utilizzare le operazioni sui bit di PHP per ottimizzare il database" http://freephp.html.it/articoli/view...olo.asp?id=163

    Prendendo spunto dall'ottimizzazione del db nel gestire le preferenze degli utenti vuole introdurre gli operatori bitwise di PHP.
    Le applicazioni poi possono anche essere altre vedasi Gestire gli utenti con PHP: i permessi http://freephp.html.it/articoli/view...lo.asp?id=134.

    ciao

  2. #2
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754

    Re: [ARTICOLO] - Utilizzare le operazioni sui bit di PHP per ottimizzare il database

    [supersaibal]Originariamente inviato da Ermanno Ancona
    Salve a tutti segnalo come di prammatica l'uscita (ieri) di un nuovo articolo: "Utilizzare le operazioni sui bit di PHP per ottimizzare il database" http://freephp.html.it/articoli/view...olo.asp?id=163

    ciao [/supersaibal]
    Già letto! Semplice ma completo. Ben fatto!

    Mi ha ispirato a scrivere una piccola classe semplice semplice per implementare un setbit con un numero variabile di bit...anche se 16/32 bit dovrebbero essere sufficienti....


  3. #3

    Già lo facevo

    Bello anche se già lo faccio con tutti i linguaggi che abbiano operatori bitw. :-)

  4. #4
    Ottimo articolo!
    A chi si chiedesse perchè complicarsi la vita con i bit (anzichè usare una normale tabella di database per attribuire i permessi) sottolineamo che il vantaggio di questa tecnica sta nel fornire la possibilità di assegnare più permessi, "stratificandoli", allo stesso soggetto e nella possibilità di verificare tali permessi in un solo colpo.
    per favore NIENTE PVT TECNICI da sconosciuti

  5. #5
    mmm solo una domanda...e se io, invece di tirarmi fuori tutti i permessi, in pratica il campo in blocco, volessi estrarre esattamente tutti gli utenti che hanno un permesso X?

    si può fare?

  6. #6
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    [supersaibal]Originariamente inviato da daniele_dll
    mmm solo una domanda...e se io, invece di tirarmi fuori tutti i permessi, in pratica il campo in blocco, volessi estrarre esattamente tutti gli utenti che hanno un permesso X?

    si può fare? [/supersaibal]
    Probabilmente non direttamente con mysql...se non esistono select con operatori bitwise...
    L'unica soluzione, se fattibile a livello di memoria, è estrarre tutti gli utenti in blocco quindi selezionare dall'array PHP solo gli utenti che presentino quei permessi

    tipo

    codice:
    per_ogni_utente(i)
      se(utente[i]&(permesso1|permesso2|...))
         aggiungi utente[i]
    dove permessoj è il bit mask permessoj = (1<<j)

  7. #7
    [supersaibal]Originariamente inviato da JHammer
    Probabilmente non direttamente con mysql...se non esistono select con operatori bitwise...
    L'unica soluzione, se fattibile a livello di memoria, è estrarre tutti gli utenti in blocco quindi selezionare dall'array PHP solo gli utenti che presentino quei permessi

    tipo

    codice:
    per_ogni_utente(i)
      se(utente[i]&(permesso1|permesso2|...))
         aggiungi utente[i]
    dove permessoj è il bit mask permessoj = (1<<j) [/supersaibal]
    ecco...io volevo sapere se si poteva fare direttamente con mysql, perché cosi è ovvio che si può fare però è abbastanza dispendioso ))

  8. #8
    Se ricordo bene MySQL, apartire dalla verisone 4, supporta perfettamente le principali operazioni sui bit.

    Del tipo "SELECT campo1 ^ campo2..." etc.etc.

    Provate a fare una ricerca nella documentazione di www.mysql.com con parole chiave "Bit Functions"
    per favore NIENTE PVT TECNICI da sconosciuti

  9. #9
    [supersaibal]Originariamente inviato da Fabio Heller
    Se ricordo bene MySQL, apartire dalla verisone 4, supporta perfettamente le principali operazioni sui bit.

    Del tipo "SELECT campo1 ^ campo2..." etc.etc.

    Provate a fare una ricerca nella documentazione di www.mysql.com con parole chiave "Bit Functions" [/supersaibal]
    http://dev.mysql.com/doc/mysql/en/bit-functions.html

    grazie fabio

    già l'utilizzo di questa tecnica inizia a farsi molto più allettante ))

  10. #10
    Ciao ragazzi anche su una 3.23.49

    mysql> select 5 & 4;
    +-------+
    | 5 & 4 |
    +-------+
    | 4 |
    +-------+
    1 row in set (0.00 sec)

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.