亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > 文庫 > 正文

MyISAM Table Storage Formats

2024-09-07 22:12:43
字體:
來源:轉載
供稿:網友
         MyISAM Table Storage Formats
  
        本文主要了解 Static (Fixed-Length) TABLE 和 Dynamic Table 以及對空格的處理。
  
1.創建和更改 MyISAM Table Storage Formats 語法
## table has no BLOB or TEXT ##
Create Table Engine
Create Table table_name ROW_FORMAT=FIXED;
Change Table Engine
Alter Table table_name ROW_FORMAT=DYNAMIC;
  
2.案例
     2.1 創建 FIXED TABLE OF MyISAM Engine 并插入帶有空格的字符,觀察 FIXED TABLE OF MyISAM Engine 是如何處理空格的。
      mysql> create table myisam_char(name char(10)) engine=myisam ROW_FORMAT=FIXED;
       Query OK, 0 rows affected (0.04 sec)
  
mysql> insert into myisam_char values('abcde'),('abcde  '),('  abcde'),('  abcde  ');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0
  
mysql> select name,length(name) from myisam_char;
+---------+--------------+
| name    | length(name) |
+---------+--------------+
| abcde   |            5 |
| abcde   |            5 |
|   abcde |            7 |
|   abcde |            7 |
+---------+--------------+
4 rows in set (0.00 sec)
## FIXED TABLE OF MyISAM Engine 中字段都是非變長字段,數據會按照列的寬度定義補足空格,但是應用訪問的時候并不會得到這些空格,這些空格在返回給應用之前已經去掉。
## 所以,開發需求本來就要保存字符后的空格,那就需要注意了。
  
mysql> show table status from test1 like 'myisam_char';
+-------------+--------+---------+------------+------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+------------------+---------+
| Name        | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length  | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation         | Checksum | Create_options   | Comment |
+-------------+--------+---------+------------+------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+------------------+---------+
| myisam_char | MyISAM |      10 | Fixed      |    4 |             11 |          44 | 3096224743817215 |         1024 |         0 |           NULL | 2016-03-22 16:09:26 | 2016-03-22 16:09:35 | NULL       | latin1_swedish_ci |     NULL | row_format=FIXED |         |
+-------------+--------+---------+------------+------+----------------+-------------+------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+------------------+---------+
1 row in set (0.00 sec)
## SHOW TABLE STATUS 語法直接查看 MyISAM Table Storage Formats
  
2.2 更改 MyISAM Table Storage Formats
mysql> alter table myisam_char engine=myisam ROW_FORMAT=DYNAMIC;
Query OK, 4 rows affected (0.01 sec)
Records: 4  Duplicates: 0  Warnings: 0
  
mysql> show table status from test1 like 'myisam_char';
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+---------+
| Name        | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation         | Checksum | Create_options     | Comment |
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+---------+
| myisam_char | MyISAM |      10 | Dynamic    |    4 |             20 |          80 | 281474976710655 |         1024 |         0 |           NULL | 2016-03-22 16:21:44 | 2016-03-22 16:21:44 | NULL       | latin1_swedish_ci |     NULL | row_format=DYNAMIC |         |
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+---------+
1 row in set (0.00 sec)
  
mysql> insert into myisam_char values('ABCDE'),('ABCDE  '),('  ABCDE'),('  ABCDE  ');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0
  
mysql> select name,length(name) from myisam_char;
+---------+--------------+
| name    | length(name) |
+---------+--------------+
| abcde   |            5 |
| abcde   |            5 |
|   abcde |            7 |
|   abcde |            7 |
| ABCDE   |            5 |
| ABCDE   |            5 |
|   ABCDE |            7 |
|   ABCDE |            7 |
+---------+--------------+
8 rows in set (0.00 sec)
  
3.Static (Fixed-Length) 和 Dynamic Table 特點
3.1 Static (Fixed-Length) 特點
Static-format tables have these characteristics:
  
CHAR and VARCHAR columns are space-padded to the specified column width, although the column type is not altered. BINARY and VARBINARY columns are padded with 0x00 bytes to the column width.
  
Very quick.
  
Easy to cache.
  
Easy to reconstruct after a crash, because rows are located in fixed positions.
  
Reorganization is unnecessary unless you delete a huge number of rows and want to return free disk space to the operating system. To do this, use OPTIMIZE TABLE or myisamchk -r.
  
Usually require more disk space than dynamic-format tables.
## 這種存儲方式的優點存儲非常迅速,容易緩存,出現故障容易恢復因為行位于固定的位置;缺點是占用的空間比動態表多。
  
3.2 Dynamic Table 特點
  
Dynamic-format tables have these characteristics:
  
All string columns are dynamic except those with a length less than four.
   
Each row is preceded by a bitmap that indicates which columns contain the empty string (for string columns) or zero (for numeric columns). This does not include columns that contain NULL values. If a string column has a length of zero after trailing space removal, or a numeric column has a value of zero, it is marked in the bitmap and not saved to disk. Nonempty strings are saved as a length byte plus the string contents.
  
Much less disk space usually is required than for fixed-length tables.
  
Each row uses only as much space as is required. However, if a row becomes larger, it is split into as many pieces as are required, resulting in row fragmentation. For example, if you update a row with information that extends the row length, the row becomes fragmented. In this case, you may have to run OPTIMIZE TABLE or myisamchk -r from time to time to improve performance. Use myisamchk -ei to obtain table statistics.
  
More difficult than static-format tables to reconstruct after a crash, because rows may be fragmented into many pieces and links (fragments) may be missing.
  
The expected row length for dynamic-sized rows is calculated using the following expression:
  
3
+ (number of columns + 7) / 8
+ (number of char columns)
+ (packed size of numeric columns)
+ (length of strings)
+ (number of NULL columns + 7) / 8
There is a penalty of 6 bytes for each link. A dynamic row is linked whenever an update causes an enlargement of the row. Each new link is at least 20 bytes, so the next enlargement probably goes in the same link. If not, another link is created. You can find the number of links using myisamchk -ed. All links may be removed with OPTIMIZE TABLE or myisamchk -r.
## 這種存儲方式比靜態表占用空間少;但是,頻繁的更新和刪除記錄會生產鎖片。所以,需要定期執行 OPTIMIZE TABLE or myisamchk -r 命令來改善性能;出現故障時恢復比較困難。
  
########################################################################################
版權所有,文章允許轉載,但必須以鏈接方式注明源地址,否則追究法律責任!【QQ交流群:53993419】
QQ:14040928 E-mail:dbadoudou@163.com
本文鏈接: http://blog.itpub.net/26442936/viewspace-2062237/
########################################################################################
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美精品免费在线| 精品中文字幕在线2019| 国产一区二区丝袜高跟鞋图片| 美女av一区二区三区| 国产日韩欧美在线播放| 色播久久人人爽人人爽人人片视av| 亚洲人成在线观看| 国产精品一区二区三区免费视频| 国产精品电影久久久久电影网| 久久国产精品久久久久久| 91精品啪在线观看麻豆免费| 亚洲欧美资源在线| 成人做爰www免费看视频网站| 成人妇女免费播放久久久| 91在线观看免费高清完整版在线观看| 久久色免费在线视频| 国产美女久久久| 成人精品一区二区三区| 国产精品网站入口| 欧美成人合集magnet| 欧美极品欧美精品欧美视频| 欧美交受高潮1| 夜夜嗨av一区二区三区四区| 国产日韩欧美成人| 午夜精品久久久久久99热| 久久久久久久影院| 17婷婷久久www| 国产精品偷伦视频免费观看国产| 国外成人免费在线播放| 在线视频免费一区二区| 亚洲一区二区久久久久久久| 久久6免费高清热精品| 国产97在线|日韩| 亚洲国产精品人人爽夜夜爽| 国产成人精品一区二区在线| 精品国产91久久久| 中文字幕在线视频日韩| 26uuu亚洲国产精品| 亚洲专区在线视频| 国产欧美精品一区二区三区介绍| 国产成人精品综合久久久| 亚洲第一中文字幕在线观看| 影音先锋日韩有码| 欧美日韩亚洲91| 日本午夜人人精品| 国产精品小说在线| 日韩av中文在线| 深夜精品寂寞黄网站在线观看| 精品网站999www| 亚洲欧洲在线观看| 中文字幕在线亚洲| 国产色综合天天综合网| 久久九九精品99国产精品| 国产精品麻豆va在线播放| 亚洲福利视频免费观看| 久久久精品国产| 亚洲区免费影片| 欧美高清电影在线看| 国产欧美日韩精品丝袜高跟鞋| 亚洲精品天天看| 欧美大奶子在线| 国产精品一香蕉国产线看观看| 亚洲丝袜在线视频| 日韩精品在线免费观看视频| 欧美一级电影在线| 57pao成人永久免费视频| 理论片在线不卡免费观看| 国产手机视频精品| 欧美成人激情视频免费观看| 菠萝蜜影院一区二区免费| 亚洲字幕在线观看| 久久在线观看视频| 日韩欧美在线观看视频| 欧美xxxx做受欧美.88| 国产有码在线一区二区视频| 夜夜嗨av一区二区三区四区| www高清在线视频日韩欧美| 中文字幕精品视频| 色综合天天狠天天透天天伊人| 欧美日韩xxxxx| 日韩福利伦理影院免费| 欧美极度另类性三渗透| 欧美视频第一页| 欧美巨大黑人极品精男| 国产精品在线看| 欧美日韩一区二区免费视频| 欧美激情一区二区三区高清视频| 精品国产老师黑色丝袜高跟鞋| 国产日韩欧美中文在线播放| 国产精品久久久久久久久久东京| 欧美性xxxx极品hd欧美风情| 夜夜嗨av一区二区三区免费区| 欧美巨乳在线观看| 日韩中文字幕在线精品| 亚洲一区二区免费| 欧美体内谢she精2性欧美| 国产精品久久电影观看| 亚洲激情久久久| 国产精品揄拍一区二区| 欧美日韩精品中文字幕| 国产美女精品视频| 久久九九免费视频| 91香蕉嫩草影院入口| 精品久久久久久久久久| 日韩av免费在线| 国产噜噜噜噜久久久久久久久| 欧美猛交ⅹxxx乱大交视频| 欧洲成人在线观看| 国产精品久久久久久久久久三级| 午夜精品一区二区三区在线| 黄网站色欧美视频| 欧美午夜www高清视频| 日本精品中文字幕| 欧美成人精品在线播放| 国产精品69精品一区二区三区| 亚洲激情中文字幕| 亚洲欧美日韩在线一区| 国产专区欧美专区| 日本精品免费观看| 日韩大陆毛片av| 日韩欧美中文在线| 一道本无吗dⅴd在线播放一区| 欧美成人午夜激情| 一区二区三区视频免费在线观看| 久久久久久久一| 97香蕉久久夜色精品国产| 日韩经典中文字幕在线观看| 亚洲国产欧美一区| 亚洲欧美国产一本综合首页| 久久久久在线观看| 91九色综合久久| 成人激情视频网| 日本精品视频网站| 亚洲最大成人网色| 成人h片在线播放免费网站| 国产欧美日韩亚洲精品| 午夜精品久久久久久久99热浪潮| 欧美激情视频一区二区三区不卡| 国产一区二区三区直播精品电影| 国产日韩亚洲欧美| 中文字幕一精品亚洲无线一区| 日韩av中文字幕在线| 97视频免费在线看| 欧美日韩国产精品一区二区三区四区| 亚洲精品电影在线观看| 在线精品高清中文字幕| 97国产成人精品视频| 亚洲国产欧美自拍| 国内精品视频在线| 人人做人人澡人人爽欧美| 亚洲女人天堂视频| 色七七影院综合| 欧美专区日韩视频| 亚洲精品电影网| 国产欧美日韩91| 欧美性精品220| 国产精品自产拍高潮在线观看| 亚洲va欧美va在线观看| 国产九九精品视频| 国产综合在线看| 亚洲经典中文字幕| 国产精品免费看久久久香蕉| 成人av资源在线播放| 欧美另类交人妖|