次のような情報を保存する必要があるWebサイトを実行しています。
table: logs
* date (date)
* server_1 (unsigned int)
* server_2 (unsigned int)
* user_id (unsigned int)
* ip (unsigned int)
* service (enum)
* traffic (unsigned bigint)
私のクエリは主に次のようになります。
SELECT SUM(traffic) FROM logs WHERE user_id = 8381 AND date > DATE_ADD(CURDATE(), INTERVAL -7 DAY) AND service != 'unknown'
トラフィックを除くすべてのフィールドの複合主キーと、user_id とサービスのインデックスがあります。
トラフィックをフロートとして保存する方が効率的ですか?
また、MyIsam は優れたエンジンですか、それとも innodb を使用する必要がありますか?
それとも別のデータベース システムですか?
テーブルは非常に大きくなり (数千万行)、頻繁にクエリが実行されます。