Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Database schema changes

Ouverte
#54 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Refactorisation
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
sql
Domaine
backend, databases

Piste de recherche

Start with docs/setup.sql and reproduce the reported SELECT against a large items table to understand the current schema and query cost. Review the feeds, items, and subscriptions definitions, then trace the application code that uses feedUrl; done means the integer feedId migration and related queries remain synchronized across all three tables.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Seeing that a database with millions of rows in the items table, can get queries to slow down, specifically this one:

SELECT * FROM items WHERE flDeleted = FALSE AND feedUrl IN (SELECT feedUrl FROM subscriptions WHERE listName='dave') ORDER BY pubDate DESC LIMIT 175;

Which can take ~10 seconds to load, I propose we switch from using feedUrl as the primary key to an integer based key, which will help speed up the query significantly. Testing locally, the same query took about ~20ms after the switch.

Maybe for such a big change, we might as well review the setup.sql file. The following tables use feedUrl as primary key and should be changed:

  1. feeds
  2. items
  3. subscriptions

But this will also involve code changes to keep in sync the new feedId with the current feedUrl and querying feedId instead.

Langage dominant
HTML
Étoiles
11
Forks
4
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de scripting/feedlandInstall

Toutes les issues de scripting/feedlandInstall

Issues similaires

Plus d'issues Backend & API Design

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.