私はテーブルに200万のレコードを扱うGPSアプリケーションを作っています。私の最初の考えは、テーブルをposition_1、position_2、...のような複数のテーブルに分割し、データを分割することです。複数のテーブルがmysqlでシャーディングする
私の質問です:それはMySQL(innodb)でパフォーマンスの向上はありますか?
私はテーブルに200万のレコードを扱うGPSアプリケーションを作っています。私の最初の考えは、テーブルをposition_1、position_2、...のような複数のテーブルに分割し、データを分割することです。複数のテーブルがmysqlでシャーディングする
私の質問です:それはMySQL(innodb)でパフォーマンスの向上はありますか?
本当の問題は、クエリに一致する関連インデックスを作成することです。
InnoDB table size itself(InnoDB特有の章を参照)は問題ではありません。
インデックスが正確である限り、単一のテーブルを使用するアプリケーションの開発とメンテナンスは、よりずっと容易になります。
複数のテーブルを作成する必要はありませんが、の場合、単一のテーブルを異なるディスクに分割することでパフォーマンスが向上します。 MySQLは実際に実践をサポートしています。
http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html
私はあなたがそれを使用することを決定する前にとparitioningせずにパフォーマンスを測定しようとお勧めしたいです。
1つのテーブル、500,000,000行、クエリランタイム0.02秒 - http://stackoverflow.com/questions/4419499/mysql-nosql-help-me-to-choose-the-right-one-on-a/ 4421601#4421601 –