mysql有7種儲存引擎,39種資料型別,6種索引。
儲存引擎:
innodb,
mysql從3.23.34a開始包含innodb儲存引擎,是唯一支援事務的標準mysql儲存引擎。自mysql5.5將innodb作為預設的儲存引擎。是mysql上第乙個提供外來鍵約束的表引擎,對事務處理的能力是其他儲存引擎無法比擬的,提供了事務、回滾、崩潰修復能力和多版本併發控制的事務安全。支援自增長auto_increment(列值必須為主鍵,不能為空,且必須唯一,預設從1開始,插入時不輸入,輸入0或空,則為自增長之後的值,若插入某個確定的值,且與前面列值不重複則可直接插入),支援外來鍵,被外來鍵關聯的字段必須為主鍵。
優點:提供良好的事務管理、崩潰修復能力和併發控制。缺點:讀寫效率稍差,占用的資料空間相對比較大。
使用:適合更新比較密集的表——適合處理多重併發的更新請求,事務——唯一支援事務的標準mysql儲存引擎,管理敏感資料(如金融資訊和使用者註冊資訊)的必須軟體,自動災難恢復——能夠自動從災難中恢復,比myisam儲存引擎快的多。可應用與web,電子商務,金融系統,健康護理以及零售應用。
myisam,
mysql曾經的預設儲存引擎,是基於isam儲存引擎發展起來的。基於myisam儲存引擎的表支援3種不同的儲存格式,靜態型、動態型、壓縮型。所有表列都是靜態的(即不使用xblob、xtext或varchar資料型別時),mysql會自動使用靜態myisam格式。效能高,而空間利用率低。有表列為動態的型別,則mysql會自動使用動態格式,空間利用率高而效能下降,易產生碎片,可使用optimize table整理表碎片。整個應用生命週期中都唯讀的表,可以使用myisampack工具轉換為壓縮表減少空間占用,可以提公升效能。
優點:占用空間小,處理速度快。缺點:不支援事務的完整性和併發性。
memeory,
memeory儲存引擎的表資料儲存於記憶體之中,表結構儲存於硬碟之上,資料處理速度快。使用時必須保證有足夠的記憶體空間大小。
普通索引,
唯一索引,unique,索引的值必須唯一,主鍵是一種特殊的唯一索引。
全文索引,fulltext,只能建立在char、varchar、text型別欄位上,預設情況下全文索引大小寫不敏感。如果索引列使用二進位制排序可以執行大小寫敏感的全文索引。
單列索引,對應且必須只對應乙個欄位的索引,包括上三種索引方式。
多列索引,在表的多個欄位上建立的乙個索引,使用時必須以建索引的第乙個欄位為查詢條件
空間索引,spatial,只能建立在空間資料型別上,可以提高系統獲取空間資料的效率,只有myisam儲存引擎支援空間檢索,而且索引的值不能為空值。
效能優化:優化查詢速度、優化更新速度、優化mysql伺服器。
查詢語句多,查詢耗費時間久則需要對優化查詢速度。
連線mysql資料庫的使用者多則需要對mysql伺服器進行優化。
例:show status like 'value';
value:connections、uptime、slow_queries、com_select、com_insert、com_delete
explain select * from person;
describe select * from person;
分析表、檢查表、優化表
analyze table person;
使用analyze分析表時,資料庫系統會對錶加乙個唯讀鎖,在分析期間只能讀取表中的記錄,不能更新和插入記錄。可以分析innodb和myisam型別的表。
mysql安裝總結 mysq安裝總結 MySQL
2 建立mysql安裝使用者 直接檢視install binary檔案當中有建立使用者的語句。語句為groupadd mysql useradd r g mysql mysql 3 為前面解壓的目錄在 usr local 下建立乙個軟連線,並且附許可權。cd usr local ln s opt m...
php連線mysql總結 php操作mysql小結
連線資料庫 設定文件顯示編碼 header content type text html charset utf 8 if con mysql connect localhost root 1234 elseelseelse echo 插入失敗,原因 mysql error 查詢 4fetch函式m...
MYSQL 基礎SQL語句總結
dml 資料操縱語句 增刪改 1 插入記錄 insert into tablename field1,field2,fieldn values value1,value2,valuen insert into test uid,name values 100,0,peter 如例,通過insert ...