-
Notifications
You must be signed in to change notification settings - Fork 411
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Diminui idas ao banco de dados na criação e edição de conteúdos, e na edição de usuários #1729
Diminui idas ao banco de dados na criação e edição de conteúdos, e na edição de usuários #1729
Conversation
When creating a content, avoid an extra call to the database to check if the `parent_id` exists by defining the `path` directly in the `INSERT` and validating it afterwards.
…fields from parent In `creditOrDebitTabCoins`, changing the order of `if`s prevents a database query when the content is not relevant. Furthermore, searching the parent content directly with SQL allows to obtain only the desired field (`owner_id`), instead of bringing up all the fields from the table and also calculating the content's TabCoins.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Boa @Rafatcb! 💪
Fiz alguns comentários, e subi commits com algumas das sugestões (não todas), mas pode remover o que você achar que não faz sentido.
E ao remover a updateMetadata
na criação de conteúdo, eu percebi que dava para eliminar totalmente essa função do sistema, então já removi também do patch de usuários. Se achar que isso faz sentido, talvez compense editar o nome do PR, ou criamos outro, se achar melhor separar.
Ótimas melhorias, não percebi que poderíamos passar o |
11e7d84
to
583e89a
Compare
Rafa, como sempre, você foi citado na publicação sobre as novidades do TabNews! 💪 |
Mudanças realizadas
Realizei algumas alterações como tentativa de melhoria de desempenho na criação e edição de um conteúdo.
parent
na query de criação ao invés de buscar separadamente.creditOrDebitTabCoins
, mudar a ordem dosif
s evita uma consulta no banco de dados quando o conteúdo não é relevante. Além disso, buscar o conteúdo pai diretamente com SQL permite obter apenas o campo desejado (owner_id
), ao invés de trazer todos os campos da tabela e ainda calcular os TabCoins do conteúdo.creditOrDebitTabCoins
, buscar o pai no banco de dados apenas casonewContent.parent_owner_id
sejaundefined
permite evitar buscar o pai duas vezes nocreate
.PATCH
, é possível definirmetadata.id
ao criar oevent
, removendo a necessidade do uso doevent.updateMetadata
. Além disso, ao aceitar receber umoptions.oldContent
nocontent.update
, evitamos buscar duas vezes o mesmo conteúdo durante oPATCH
.Talvez alguma mudança seja desnecessária, possa ter uma interface melhor, ou ainda exista alguma melhoria que não percebi. Estou aberto a sugestões.
Tipo de mudança
Checklist: