我有簡單的主/從配置。我的生產箱上都有8GB的RAM。 我只使用Master for Writes而只使用Slave作爲Reads。但是在這個週末我跑了一個工作,在master上插入數據,這個數據應該被複制到slave上。由於這種情況,我的奴隸在主人身後花了將近15-16小時的時間,當我從奴隸那裏讀到它時,它給我的報告造成了很大的麻煩,奴隸沒有更新信息。MySQL複製簡單的主/從複製
對於這一點,我有幾個疑問:
是否有正當理由的,爲什麼要使用奴隸讀取和不掌握(我主人後非常5分鐘寫。)和一些工作是從奴隸讀取的時間表。
我有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 | |
謝謝戴夫。但我不能要求我的奴隸選擇等待......因爲我需要爲每天和每天的每個小時生成報告......所以我從奴隸讀取的信息。我認爲檢查參數「Second Behind Master」的想法很好,因此可以在主控上插入插入內容,這樣就不會出現如此大的差異。 – 2011-05-19 09:20:25
我還有一個關於主/從配置的查詢,如果我從主站讀取和寫入,會發生什麼。 – 2011-05-19 09:21:53
對不起,在運行讀取查詢之前,我的意思不是奴隸們必須等待,我的意思是我們的系統在奴隸落後的情況下直接在主人處開啓讀取查詢。在主設備上讀取和寫入是完全正確的(這只是一個單一的服務器體系結構,然後......)通過我們的設置,您可以獲得兩全其美的體驗。如果從站是最新的,則在從站上執行讀操作,否則它們在主站上執行。希望這能說明問題? – 2011-05-19 09:30:04