對於資料塊的認識:
。資料塊的大小有db_block_size決定,並且只有通過重建資料庫來得到調整。空間計算的根據來自於資料塊。
。資料塊由資料塊頭,資料區組成。資料區的使用由pctfree,pctused控制。當insert發生時,
pctfree決定了該塊所能容納的最多的資料,即,剩餘空間佔資料塊實際空間的百分比不小於pctfree。
空間估算中pctfree是很乙個很重要的引數。
對於在表上進行的事務(transaction)型別要有乙個清晰的認識,因為這會幫助如何更好的確定pctfree & pctused。
例如:
如果pctfree的值太大,記錄又可能很長,這會引起行鏈結(row-chaining),同時空間利用率也不高;
如果pctfree的值太小,會影響塊資料記錄的增長,容易引起行遷移(row-migurating);
如果pctused的值太大,空間上似乎沒什麼問題,但資料塊的操作上又有潛在的效能問題,因為資料塊需要在
freelist上反覆搬動;
如果pctused的值太小,則又出現了空間利用率不高的問題。
pctfree & pctused表示的是db_block_size減去資料塊頭後的百分比值
PDMan建表時的問題
pdman每次建表到資料庫上都是乙個痛苦的過程,因為不知道為什麼就會建不出來,可能過一會又建出來了.一般的解決方法就是直接把軟體生成的建表語句在資料庫上執行,這次又遇到了這個問題,不過因為這次的pdman.json檔案是要上交的,所以不能糊弄過去了,只能開始痛苦的找bug之路.1.首先看同步時的sq...
建庫和建表中編碼問題
utf8 genera ci不區分大小寫,ci為case insensitive的縮寫,即大小寫不敏感。utf8 bin將字串中的每乙個字元用二進位制資料儲存,區分大小寫。例如 select from table where txt a 那麼在utf8 bin中你就找不到 txt a 的那一行,而 ...
MySQL建表時,五種日期和時間型別選擇
mysql中有多種表示日期和時間的資料型別。其中year表示年份,date表示日期,time表示時間,datetime和timestamp表示日期和實踐。它們的對比如下 日期時間型別 占用空間 日期格式 最小值最大值 零值示例 datetime 8 bytes yyyy mm dd hh mm ss...