MySQL基礎知識小結(一)

cnnbull發表於2021-09-09
  • char與varchar
    1)char為固定空間儲存, 實際資料不夠會補夠,超出長度則截斷; varchar為不固定長度儲存,使用額外的1-2個位元組來儲存長度資訊。
    2)char可能導致空間浪費, 但也可能有效減少空間碎片,上限255; varchar的情況相反,上限65535個位元組(指定的長度表示的為字元,要考慮編碼)

  • int(x)
    x代表了int整型的最大顯示長度。 int佔4個位元組, 無符號最大值4294729693, 即長度為10. 因此int(11)與int(12)本質上應該沒有差別。

  • mysql的日誌種類
    錯誤日誌: -log-err (記錄資訊包括: 服務啟動或關閉, 執行過程的錯誤或警告, 事件排程器)
    查詢日誌: -log
    慢查詢日誌: -log-slow-queries
    更新日誌: log-update (一般都不會使用)
    二進位制日誌: -log-bin (mysqlbinlog檢視二進位制檔案)

  • show profile
    用於分析sql執行的效能, 相對於explain, profile還可以檢視執行的CPU/Memory使用情況。

  • 關於buffer size
    對於myisam, 要設定合適的key_buffer_size大小; 因為myisam需要用到系統的快取來快取資料,因此需要為索引留出部分空間.
    對於innodb, 要設定合適的innodb_buffer_pool_size大小; 因為innodb會把資料和索引都一起快取起來, 該值應該相對大一些.

  • delete與optimize
    如果一個表經常有insert與delete操作,應該要定期進行optimize操作,可以有效的回收空間和整理碎片.

  • 關於鎖
    myisam只支援表鎖; innodb支援行級鎖,它是透過在索引上加鎖來實現的,因此只有在用到索引來檢索資料時才用到行鎖,否則仍使用表鎖.

  • 關於索引
    myisam支援的索引型別包括: 普通索引(index), primary key(主鍵), 唯一性主鍵(unique key), 全文索引(full text).

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2524/viewspace-2822074/,如需轉載,請註明出處,否則將追究法律責任。

相關文章