100万から2000万までの連番表を取得しようとしています。(または 0 ~ 2000 万)
この一般的な問題に対する MySQL 互換のソリューションを入手することがいかに困難であったかについては、私はむしろ畏敬の念を抱いています。
これに似ています:MySQLで「数値テーブル」を作成する
しかし、答えは 100 万までしかありません。ビット シフトの計算がよくわかりません。
多くの SQL の回答を見てきましたが、ほとんどが MySQL ではないデータベース用であるため、MySQL とその他の両方の知識が不足しているため、コードを採用できません。
参考文献:
投稿するコードが MySQL と互換性があり、PhpMyAdmin で実行できるようにセミコロンで区切られていることを確認してください。numbers
という列でテーブルに名前を付けていただければ幸いですi
私は各ソリューションをベンチマークするので、それはアーカイブされており、次回誰かがこの問題を検索しようとしたときに表示されることを願っています.
これまでのベンチマーク:
時間は秒単位です。
+---------------+------------------+---------+-----------+------------+
| Author | Method | 10,000 | 1,000,000 | 20,000,000 |
+---------------+------------------+---------+-----------+------------+
| Devon Bernard | PHP Many Queries | 0.38847 | 39.32716 | ~ 786.54 |
| Bhare | PHP Few Queries | 0.00831 | 0.94738 | 19.58823 |
| psadac,Bhare | LOAD DATA | 0.00549 | 0.43855 | 10.55236 |
| kjtl | Bitwise | 1.36076 | 1.48300 | 4.79226 |
+---------------+------------------+---------+-----------+------------+