trx1a34
㈠ innodb存儲引擎的數據文件放在哪裡
MySQL資料庫InnoDB存儲引擎使用了B策略, InnoDB存儲引擎中的恢復機制有幾個特點:
A. 在重做Redo Log時,並不關心事務性。 恢復時,沒有BEGIN,也沒有COMMIT,ROLLBACK的行為。也不關心每個日誌是哪個事務的。盡管事務ID等事務相關的內容會記入Redo Log,這些內容只是被當作要操作的數據的一部分。
B. 使用B策略就必須要將Undo Log持久化,而且必須要在寫Redo Log之前將對應的Undo Log寫入磁碟。Undo和Redo Log的這種關聯,使得持久化變得復雜起來。為了降低復雜度,InnoDB將Undo Log看作數據,因此記錄Undo Log的操作也會記錄到redo log中。這樣undo log就可以象數據一樣緩存起來,而不用在redo log之前寫入磁碟了。
包含Undo Log操作的Redo Log,看起來是這樣的:
記錄1: <trx1, Undo log insert <undo_insert …>>
記錄2: <trx1, insert …>
記錄3: <trx2, Undo log insert <undo_update …>>
記錄4: <trx2, update …>
記錄5: <trx3, Undo log insert <undo_delete …>>
記錄6: <trx3, delete …>
C. 到這里,還有一個問題沒有弄清楚。既然Redo沒有事務性,那豈不是會重新執行被回滾了的事務?確實是這樣。同時Innodb也會將事務回滾時的操作也記錄到redo log中。回滾操作本質上也是對數據進行修改,因此回滾時對數據的操作也會記錄到Redo Log中。
一個回滾了的事務的Redo Log,看起來是這樣的:
記錄1: <trx1, Undo log insert <undo_insert …>>
記錄2: <trx1, insert A…>
記錄3: <trx1, Undo log insert <undo_update …>>
記錄4: <trx1, update B…>
記錄5: <trx1, Undo log insert <undo_delete …>>
記錄6: <trx1, delete C…>
記錄7: <trx1, insert C>
記錄8: <trx1, update B to old value>
記錄9: <trx1, delete A>
一個被回滾了的事務在恢復時的操作就是先redo再undo,因此不會破壞數據的一致性.
- InnoDB存儲引擎中相關的函數
Redo: recv_recovery_from_checkpoint_start()
Undo: recv_recovery_rollback_active()
Undo Log的Redo Log: trx_undof_page_add_undo_rec_log()
㈡ trx轉賬需要多少能量
轉賬1個TRR代幣大概需要315能量。
轉賬TRC20代幣或交易等,都會消耗能量和帶寬。比如以轉賬TRR代幣為例:轉賬89個TRR代幣需要消耗345帶寬和28031能量,該地址沒有足夠的能量,則抵扣了3.92434TRX作為手續費。
眾所周知,波場代幣主要分為TRC10和TRC20代幣,資源主要分為三種:能量、帶寬和存儲。在波場獨特的網路中,存儲幾乎是無限的。那麼能量和帶寬是有限的,用完了就需要花TRX來租賃或者凍結獲得能量和帶寬。
RC10代幣是一種是通過TRON公鏈內置的通證。主要消耗帶寬。
TRC20代幣是在TRON區塊鏈上通過部署智能合約的方式來發行資產的一套標准,主要消耗能量和帶寬。
每個波場賬戶每天擁有1500帶寬,用完會自動慢慢恢復至1500.目前轉賬TRC10代幣一筆大概需要消耗300-400帶寬,即每個賬戶每天可以免費轉3-4筆TRC10代幣,比如TRX。如果當日轉賬次數過多,沒有足夠的帶寬來消耗,就會直接抵扣賬戶上面的TRX估為手續費。
能量是比較「珍貴」的資源了,賬戶每天沒有免費的能量,如果想要獲得能量有2種方式可以獲得:
1、凍結TRX獲得能量。TRON網路中凍結1萬TRX,可以獲得257431能量。
2、租賃。通過波場助手tronenergy.app能量平台,用1TRX可以租賃10800能量。