update_user_meta: Quantos são muitos?

4

Estou trabalhando em um portal da comunidade que pode, no futuro, atender a uma base de usuários extremamente grande. Todos os usuários têm cerca de 50 configurações que precisam ser armazenadas na meta do usuário. Essas configurações seriam freqüentemente acessadas e sobrescritas com novos valores quando o usuário salva as alterações no perfil.

Isso levaria a um número extremamente grande de chamadas para update_user_meta cortesia: grande base de usuários e grande número de configurações por usuário.

Este grande número de chamadas para update_user_meta causaria alguma degradação no desempenho?

Uma alternativa que eu vejo, seria escrever as configurações do usuário em uma matriz e, posteriormente, armazenar a matriz para meta do usuário usando uma única chamada para update_user_meta.

Qual dos dois parece ser uma solução melhor?

Cumprimentos João

    
por John 04.10.2011 / 19:04

1 resposta

3

Para responder às suas perguntas:

  

Será que esse alto número de chamadas para update_user_meta causaria   degradação do desempenho?

Quanto maior o número de chamadas para o banco de dados, mais lento ele vai funcionar, já que toda consulta leva algum tempo (não muito, mas ainda assim).

  

Qual dos dois parece ser uma solução melhor?

Recentemente terminei um projeto com uma quantidade semelhante de configurações de usuário e a solução que acabei tendo foi armazenar como um array todos os dados que eu não precisei consultar ou pesquisar com base em (desde quando usando array para armazena dados na base de dados que é armazenada serializada) e o restante (dados que precisam ser consultados com base em) como linhas únicas de dados, que reduzem as consultas em uma página de 68 para apenas 7.

    
por Bainternet 04.10.2011 / 20:26