MyISAMストレージエンジンのMySQLには、次のスキーマの膨大な数(数十億)があります。どのようにこれをより効率的に格納するための提案(ストレージワイズ)?非常に大きなテーブルのストレージサイズを最適化する
mysql> describe options;
+---------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+------------------+------+-----+---------+----------------+
| stockid | int(10) unsigned | NO | MUL | NULL | |
| strike | float | NO | | NULL | |
| symbol | varchar(63) | NO | | NULL | |
| last | float | NO | | NULL | |
| chg | float | NO | | NULL | |
| bid | float | NO | | NULL | |
| ask | float | NO | | NULL | |
| expirydate | varchar(63) | YES | | NULL | |
| ticker | varchar(63) | YES | | NULL | |
| expiry | datetime | YES | | NULL | |
| type | varchar(63) | YES | | NULL | |
| datecaptured | datetime | YES | | NULL | |
| volume | bigint(20) | YES | | NULL | |
| openint | bigint(20) | YES | | NULL | |
| lastclosedate | date | YES | | NULL | |
| row_id | int(11) | NO | PRI | NULL | auto_increment |
+---------------+------------------+------+-----+---------+----------------+
'int(11)'は、おそらく 'int(2)'より容量がありません。これが本当に「何十億ドル」であれば、それは問題になるでしょう。 – user2864740
最後の/ chg/bid/askの列は市場価格に関連する値のように見えますが、 'FLOAT'は不正確な近似値でない限り、お金がかかわる非常に危険なデータ型です。 FLOATは比較的空間効率がよい。あなたはその限界に精通していますか? –
確かに、お金をINT * 100として保管する習慣はありますか?または、より良いモデルがありますか? –