Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Matriz PHP massiva vs banco de dados MySQL?


As outras respostas estão certas - mas pelas razões erradas.

Mantendo os dados em uma matriz PHP, será muito mais rápido buscá-los do que em um banco de dados - mesmo que o conjunto de dados esteja armazenado em cache na memória. O problema é que em arquiteturas PHP normais cada solicitação é tratada por um processo separado. Portanto, cada solicitação que precisar acessar os dados terá que carregar todo o conjunto de dados na memória. Isso leva tempo. O ponto em que se torna mais caro executar essa operação em vez de recuperar itens de um banco de dados depende de muitos fatores diferentes - mas, como regra geral, está na região de 100 registros. Existem aplicações em que este modelo faz sentido - mas dependem de volumes de dados muito pequenos e de um processo controlado de alteração/gestão dos dados.

Seu próximo problema é que você provavelmente desejará registrar algumas transações no estoque - isso significa alterar os dados - e isso significa serializar o acesso para garantir que 2 transações separadas não ocorram ao mesmo tempo. É impossível implementar isso em PHP (sem um daemon dedicado para julgar) sem ter deadlocks.

Se você está cobrando de alguém para implementar o código, então deve ser óbvio que tentar implementar isso na memória é uma ideia muito, muito ruim.