Maison >base de données >tutoriel mysql >Comment créer efficacement une table de nombres séquentiels dans MySQL ?

Comment créer efficacement une table de nombres séquentiels dans MySQL ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-11 16:56:46436parcourir

How to Efficiently Create a Sequential Numbers Table in MySQL?

Créer un tableau de nombres consécutifs dans MySQL

Cet article explique comment générer efficacement une table de nombres continus dans une base de données MySQL.

Problèmes de syntaxe et d'exécution :

Les erreurs dans l'exemple de code sont principalement dues au manque d'éléments grammaticaux tels que les points-virgules et les virgules. De plus, la sélection répétée de la valeur maximale dans le tableau dans une boucle est inefficace.

Utiliser une alternative au générateur :

Afin de générer efficacement une séquence de nombres, il est recommandé d'utiliser un générateur au lieu d'une boucle. La requête suivante crée une série de vues qui génèrent une séquence de nombres :

<code class="language-sql">CREATE OR REPLACE VIEW generator_16 AS SELECT 0 n UNION ALL SELECT 1 ... UNION ALL SELECT 15;
CREATE OR REPLACE VIEW generator_256, generator_4k, generator_64k, generator_1m ...</code>

(Remarque : lors de la création réelle, les instructions SQL de Generator_256, Generator_4k, Generator_64k, Generator_1m et d'autres vues doivent être ajustées si nécessaire pour générer la séquence de numéros correspondante)

Insérez des chiffres dans le tableau :

Insérez des nombres dans la table "nombres" en utilisant la requête suivante :

<code class="language-sql">INSERT INTO numbers(number) SELECT n FROM generator_64k WHERE n <p>此查询从“generator_64k”视图中选择行,并筛选指定范围内的数字。</p><p><strong>实现说明:</strong></p></code>
  • La table générée contiendra une clé primaire pour chaque numéro.
  • Toutes les vues doivent être créées avant d'insérer des données dans le tableau.
  • La plage maximale de colonnes numériques est déterminée par la vue du générateur utilisée.

Grâce à la méthode ci-dessus, vous pouvez efficacement éviter les problèmes de performances causés par les boucles et créer efficacement des tables MySQL contenant des nombres consécutifs. Veuillez ajuster la portée de la vue du générateur en fonction des besoins réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn