Respostas

  • Alguns campos VARCHAR() na tabela radacct foram substituídos por campos do tipo ENUM().

    Resultado:

    select count(1) from radacct;
    +----------+
    | count(1) |
    +----------+
    |  1393539 |
    +----------+
    1 row in set (0.00 sec)


    ls -lth radacct*.ibd
    -rw-rw---- 1 mysql mysql 768M Mar  8 01:34 radacct_enum.ibd
    -rw-rw---- 1 mysql mysql 824M Mar  3 07:04 radacct.ibd 

    7% de redução.

    radacct.sql

    radacct_enum.sql

  • obrigado marco, eu procurei deixar essa tabela no padrão do pacote freeradius para evitar problemas, mais o tempo de consulta dessa tabela não é um grande problema amigo, o maior problema dela é quando ela fica cheia demais, ao tudo no webadmin fica lento e os clientes param de logar...

    Marco de Freitas disse:

    Alguns campos VARCHAR() na tabela radacct foram substituídos por campos do tipo ENUM().

    Resultado:

    select count(1) from radacct;
    +----------+
    | count(1) |
    +----------+
    |  1393539 |
    +----------+
    1 row in set (0.00 sec)


    ls -lth radacct*.ibd
    -rw-rw---- 1 mysql mysql 768M Mar  8 01:34 radacct_enum.ibd
    -rw-rw---- 1 mysql mysql 824M Mar  3 07:04 radacct.ibd 

    7% de redução.

  • Fiz uma nova conversão dessa tabela com algumas mudanças. Consegui 14% de redução convertendo os IPs para um número inteiro (4 bytes) usando a função INET_ATON(). O problema é que isso a incompatibiliza com o Freeradius.

    Mesmo que o MariaDB tivesse um tipo de dado que fosse eficiente no armazenamento de IP e MAC Address a questão é que a tabela radacct é muito redundante. Uma opção é convertê-la numa VIEW e normalizar. Para o Freeradius não faz a menor diferença se a tabela é real ou não.

    Pedro Filho disse:

    obrigado marco, eu procurei deixar essa tabela no padrão do pacote freeradius para evitar problemas, mais o tempo de consulta dessa tabela não é um grande problema amigo, o maior problema dela é quando ela fica cheia demais, ao tudo no webadmin fica lento e os clientes param de logar...

  • ok amigo, me envia depois esse dica tb por mensagem, não coloca aqui no fórum que já tem varios usuários brincando com o BD e causando problemas...

    Marco de Freitas disse:

    Fiz uma nova conversão dessa tabela com algumas mudanças. Consegui 14% de redução convertendo os IPs para um número inteiro (4 bytes) usando a função INET_ATON(). O problema é que isso a incompatibiliza com o Freeradius.

    Mesmo que o MariaDB tivesse um tipo de dado que fosse eficiente no armazenamento de IP e MAC Address a questão é que a tabela radacct é muito redundante. Uma opção é convertê-la numa VIEW e normalizar. Para o Freeradius não faz a menor diferença se a tabela é real ou não.

    Pedro Filho disse:

    obrigado marco, eu procurei deixar essa tabela no padrão do pacote freeradius para evitar problemas, mais o tempo de consulta dessa tabela não é um grande problema amigo, o maior problema dela é quando ela fica cheia demais, ao tudo no webadmin fica lento e os clientes param de logar...

This reply was deleted.