単純なマスター/スレーブ構成があります。両方のプロダクション ボックスに 8GB の RAM を搭載しています。書き込み専用のマスターと読み取り専用のスレーブを使用していました。しかし、週末に、スレーブに複製する必要があるデータをマスターに挿入するという1つのジョブを実行しました。そのため、スレーブがマスターの背後で約 15 ~ 16 時間ラングし、レポートをスレーブから読み取っていて、スレーブの情報が更新されていなかったため、レポートに大きな問題が発生しました。
これに関して、私はいくつかの質問があります:
マスターではなく読み取りにスレーブを使用する正当な理由はありますか?
私は100GBのテーブルを持っており、毎日同じテーブルに何百万ものレコードを挿入しています。すべての選択と挿入は、このテーブルで行われます。このテーブルを最適化するために、このテーブルから複数のテーブルに年ごとにデータを分離する方法を選択しました。このテーブルを最適化して実行を高速化するために取得できる他の方法はありますか。
不明な点がありましたらお知らせください。
以下はテーブルのデザインです。
+----------------+------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+------------------+------+-----+---------------------+----------------+
| test_id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| prime_id | int(11) unsigned | NO | MUL | 0 | |
| prime2_id | int(11) unsigned | NO | MUL | 0 | |
| timestamp | datetime | NO | MUL | 0000-00-00 00:00:00 | |
| test_time | int(11) | NO | | 0 | |
| status | int(11) | NO | | 0 | |
| component | int(11) unsigned | NO | | 0 | |
| c_component | int(11) unsigned | NO | | 0 | |
| C2_component | int(11) unsigned | NO | | 0 | |
| C3_component | int(11) unsigned | NO | | 0 | |
| rt_component | int(11) unsigned | NO | | 0 | |
| code | int(11) unsigned | NO | | 0 | |
| ip | int(11) unsigned | YES | | 0 | |
| step_id | int(11) unsigned | YES | | NULL | |
+----------------+------------------+------+-----+---------------------+----------------+
This is the index information of the table:
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------+------------+-----------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| tests | 0 | PRIMARY | 1 | test_id | A | 629448388 | NULL | NULL | | BTREE | |
| tests | 1 | ixf_prime_id | 1 | prime_id | A | 14 | NULL | NULL | | BTREE | |
| tests | 1 | ixf_prime2_id | 1 | prime2_id | A | 14 | NULL | NULL | | BTREE | |
| tests | 1 | ix_timestamp | 1 | timestamp | A | 157362097 | NULL | NULL | | BTREE | |
| tests | 1 | ix_prime_id_timestamp | 1 | prime_id | A | 14 | NULL | NULL | | BTREE | |
| tests | 1 | ix_prime_id_timestamp | 2 | timestamp | A | 629448388 | NULL | NULL | | BTREE | |