mysql表檢視方法 檢視mysql表的方法

2021-10-18 00:19:10 字數 2653 閱讀 5747

安裝好mysql後,配製檔案應該在/usr/local/mysql/share/mysql目錄中,配製檔案有幾個,有my-    huge.cnf    my-medium.cnf    my-large.cnf    my-small.cnf,不同的流量的**和不同配製的伺服器環境,當然需要有不同的配製檔案了。

一般的情況下,my-medium.cnf這個配製檔案就能滿足我們的大多需要;一般我們會把配置檔案拷貝到/etc/my.cnf    只需要修改這個配置檔案就可以了,使用mysqladmin    variables    extended-status    –u    root    –p    可以看到目前的引數,有3個配置引數是最重要的,即key_buffer_size,query_cache_size,table_cache。

key_buffer_size只對myisam表起作用,

key_buffer_size指定索引緩衝區的大小,它決定索引處理的速度,尤其是索引讀的速度。一般我們設為16m,實際上稍微大一點的站點 這個數字是遠遠不夠的,通過檢查狀態值key_read_requests和key_reads,可以知道key_buffer_size設定是否合理。比例key_reads    /    key_read_requests應該盡可能的低,至少是1:100,1:1000更好(上述狀態值可以使用show    status    like    『key_read%』獲得)。    或者如果你裝了phpmyadmin    可以通過伺服器執行狀態看到,筆者推薦用phpmyadmin管理mysql,以下的狀態值都是本人通過phpmyadmin獲得的例項分析:

這個伺服器已經執行了20天

key_buffer_size    –    128m

key_read_requests    –    650759289

key_reads    -    79112

比例接近1:8000    健康狀況非常好

另外乙個估計key_buffer_size的辦法 把你**資料庫的每個表的索引所佔空間大小加起來看看以此伺服器為例:比較大的幾個表索引加起來大概125m    這個數字會隨著表變大而變大。

從4.0.1開始,mysql提供了查詢緩衝機制。使用查詢緩衝,mysql將select語句和查詢結果存放在緩衝區中,今後對於同樣的select語句(區分大小寫),將直接從緩衝區中讀取結果。根據mysql使用者手冊,使用查詢緩衝最多可以達到238%的效率。

通過調節以下幾個引數可以知道query_cache_size設定得是否合理

qcache    inserts

qcache    hits

qcache    lowmem    prunes

qcache    free    blocks

qcache    total    blocks

qcache_lowmem_prunes的值非常大,則表明經常出現緩衝不夠的情況,同時qcache_hits的值非常大,則表明查詢緩衝使用非常頻繁,此時需要增加緩衝大小qcache_hits的值不大,則表明你的查詢重複率很低,這種情況下使用查詢緩衝反而會影響效率,那麼可以考慮不用查詢緩衝。此外,在select語句中加入sql_no_cache可以明確表示不使用查詢緩衝。 [page]

qcache_free_blocks,如果該值非常大,則表明緩衝區中碎片很多query_cache_type指定是否使用查詢緩衝

我設定:

query_cache_size    =    32m

query_cache_type=    1

得到如下狀態值:

qcache    queries    in    cache    12737    表明目前快取的條數

qcache    inserts    20649006

qcache    hits    79060095     看來重複查詢率還挺高的

qcache    lowmem    prunes    617913 有這麼多次出現快取過低的情況

qcache    not    cached    189896

qcache    free    memory    18573912  目前剩餘快取空間

qcache    free    blocks    5328    這個數字似乎有點大 碎片不少

qcache    total    blocks    30953

如果記憶體允許32m應該要往上加點

table_cache指定表快取記憶體的大小。每當mysql訪問乙個表時,如果在表緩衝區中還有空間,該錶就被開啟並放入其中,這樣可以更快地訪問表內容。通過檢查峰值時間的狀態值open_tables和opened_tables,可以決定是否需要增加table_cache的值。如果你發現open_tables等於table_cache,並且opened_tables在不斷增長,那麼你就需要增加table_cache的值了(上述狀態值可以使用show    status    like    『open%tables』獲得)。注意,不能盲目地把table_cache設定成很大的值。如果設定得太高,可能會造成檔案描述符不足,從而造成效能不穩定或者連線失敗。

對於有1g記憶體的機器,推薦值是128-256。

筆者設定table_cache    =    256

修改失敗,請稍後嘗試

MySQL檢視鎖表

show status like lock show status like table 在mysql5.5中,information schema 庫中增加了三個關於鎖的表 memory引擎 select from information schema innodb trx root 127.0....

檢視MySQL 表結構

前言 最近在實習中,做到跟mysql相關的開發時,想起了好久前的乙個筆試題 檢視資料庫表結構有哪幾種方法 一 使用describe語句 describe table name 或desc table name 後者是前者的簡寫形式。這種方式是最簡單的語句。二 show columns語句 show ...

mysql 表空間及索引的檢視方法

1.檢視索引 1 單位是gb select concat round sum index length 1024 1024 1024 2 gb as total index size from information schema.tables where table schema like dat...