資料庫使用時間長以後,尤其是刪除操作頻繁之後,會產生碎片空間
# 檢視本資料庫的狀態
# 檢視所有資料庫剩餘空間
optimize table table_name
3.1 innodb 預設不支援 optimize
原文要讓innodb支援optimize,要在啟動mysqld的時候加上 –skip-new 或者 –safe-mode,
這種情況下,optimize table被對映到alter table上,這會重建表。
4.1字符集
資料庫字符集改為uft-8 unicode
mysql預設字符集
mysql對於字符集的指定可以細化到乙個資料庫,一張表,一列.傳統的程式在建立資料庫和資料表時並沒有使用那麼複雜的配置,它們用的是預設的配置.
(1)編譯mysql 時,指定了乙個預設的字符集,這個字符集是 latin1;
(2)安裝mysql 時,可以在配置檔案 (my.ini) 中指定乙個預設的的字符集,如果沒指定,這個值繼承自編譯時指定的;
(3)啟動mysqld 時,可以在命令列引數中指定乙個預設的的字符集,如果沒指定,這個值繼承自配置檔案中的配置,此時 character_set_server 被設定為這個預設的字符集;
(4)安裝 mysql選擇多語言支援,安裝程式會自動在配置檔案中把default_character_set 設定為 utf-8,保證預設情況下所有的資料庫所有表的所有列的都用 utf-8 儲存。
檢視預設字符集
(預設情況下,mysql的字符集是latin1(iso_8859_1),如何檢視在上面我們已經給出了相關命令
修改預設字符集
(1) 最簡單的修改方法,就是修改mysql的my.ini檔案中的字符集鍵值,
如
```
default-character-set = utf8
character_set_server = utf8
```修改完後,重啟mysql的服務
(2) 還有一種修改字符集的方法,就是使用mysql的命令
mysql>
set character_set_client = utf8 ;
mysql>
set character_set_connection = utf8 ;
mysql>
set character_set_database = utf8 ;
mysql>
set character_set_results = utf8 ;
mysql>
set character_set_server = utf8 ;
mysql>
set collation_connection = utf8 ;
mysql>
set collation_database = utf8 ;
mysql>
set collation_server = utf8 ;
```設定了表的預設字符集為utf8並且通過utf-8編碼傳送查詢,
解決方法是在傳送查詢前執行一下下面這句: set names 'utf8';
它相當於下面的三句指令:
```set character_set_client = utf8;
set character_set_results = utf8;
set character_set_connection = utf8;
4.2行格式
myisam儲存引擎的行格式有:
innodb的行格式有:
終端檢視mysql資料庫資訊,
1 show databases 列出資料庫 2 use database name 使用database name資料庫 1 show databases 列出所有資料庫 use 資料庫名 到達某一資料庫 show tables 列出所有表 2 describe tab name 顯示名為tab ...
mysql查詢資料庫檔案資訊 查詢資料庫資訊
select a.name 檔名稱 cast a.size 1.0 128 as decimal 12,1 as 檔案設定大小 mb cast fileproperty s.name,spaceused 8 16.0 as decimal 12,1 as 檔案所佔空間 mb cast filepro...
mysql資料庫效能資料 MYSQL資料庫效能優化
1.選取最適用的字段屬性 表中字段的寬度設得盡可能小 char 的上限為 255 位元組 固定占用空間 varchar 的上限 65535 位元組 實際占用空間 text 的上限為 65535。盡量把字段設定為 not null,執行查詢的時候,資料庫不用去比較 null 值。2.使用連線 join...