在MySQL中建立連續數字表
本文介紹在MySQL資料庫中高效產生連續數字表的方法。
語法與執行問題:
範例程式碼中出現的錯誤,主要源自於缺少分號和逗號等語法元素。此外,在循環中重複從表中選擇最大值效率低。
使用生成器替代方法:
為了有效率地產生數字序列,建議使用生成器取代循環。以下查詢建立一系列視圖,產生數字序列:
<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>
(注意:實際創建時需要根據需要調整generator_256, generator_4k, generator_64k, generator_1m 等視圖的SQL語句,使其產生對應的數字序列)
將數位插入表中:
使用以下查詢將數字插入「numbers」表:
<code class="language-sql">INSERT INTO numbers(number) SELECT n FROM generator_64k WHERE n <p>此查询从“generator_64k”视图中选择行,并筛选指定范围内的数字。</p><p><strong>实现说明:</strong></p></code>
透過以上方法,可以有效避免循環帶來的效能問題,有效率地建立包含連續數字的MySQL表。 請根據實際需求調整生成器視圖的範圍。
以上是如何在MySQL中高效率建立序號表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!