Oracel,Mysql等資料的儲存引擎

2021-10-01 08:38:56 字數 1643 閱讀 5129

mysql常用的儲存引擎主要就是2個:innodb和myiasm.

是mysql的isam擴充套件格式和預設的資料庫引擎。除了提供isam裡所沒有的索引和字段管理的大量功能,myisam還使用一種**鎖定的機制,來優化多個併發的讀寫操作,其代價是你需要經常執行optimize table命令,來恢復被更新機制所浪費的空間。myisam強調了快速讀取操作,缺點是就是不能在表損壞後恢復資料。

isam是乙個定義明確且歷經時間考驗的資料**管理方法,它在設計之時就考慮到 資料庫被查詢的次數要遠大於更新的次數。因此,isam執行讀取操作的速度很快,而且不占用大量的記憶體和儲存資源。isam的兩個主要不足之處在於,它不 支援事務處理,也不能夠容錯:如果你的硬碟崩潰了,那麼資料檔案就無法恢復了。

innodb資料庫引擎都是造就mysql靈活性的技術的直接產品,這項技術就是mysql+api

儲存引擎對比

讀取速度

鎖定機制

是否包含事務

是否記錄表行數

資料是否可恢復 

支援全文索引

支援資料庫快取

isam

鎖表,無外來鍵否否

myisam快否

是否是否

innodb較慢

行級鎖和外來鍵的約束是否

是否是

innodb和myiasm各有特點,適用範圍不同。大容量的資料集時趨向於選擇innodb,因為它支援事務處理,

併發控制

和故障的恢復,因此目前網際網路相關的電商等選用mysql多用innodb。myiasm適用查詢大於寫入,且查詢頻繁的場景,通常各種門戶,新聞等資訊展示的web**,可以優先考慮。

另外:

如果只是臨時存放資料,資料量不大,並且不需要較高的資料安全性,可以選擇將資料儲存在記憶體中的memory引擎,mysql中使用該引擎作為臨時表,存放查詢的中間結果

如果只有insert和select操作,可以選擇archive,archive支援高併發的插入操作,但是本身不是事務安全的。archive非常適合儲存歸檔資料,如記錄日誌資訊可以使用archive

mysql

給開發者提供了查詢儲存引擎的功能,可以使用:

show engines

如果要想檢視資料庫預設使用哪個引擎,可以通過使用命令:

show variables like 'storage_engine';

oracle中不存在引擎的概念,資料處理大致可以分成兩大類:聯機事務處理oltp(on-line transaction processing)、聯機分析處理olap(on-line analytical processing)。oltp是傳統的關係型資料庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。olap是資料倉儲系統的主要應用,支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果。

oltp 系統強調資料庫記憶體效率,強調記憶體各種指標的命令率,強調繫結變數,強調併發操作;

olap 系統則強調資料分析,強調sql執行市場,強調磁碟i/o,強調分割槽等。

json資料的讀取等操作

json在web開發的用處非常廣泛,作為資料傳遞的載體,如何解析json返回的資料是非常常用的。下面介紹下四種解析json的方式 part 1 varlist1 1,3,4 alert list1 1 varlist2 alert list2 0 xing alert list2 0 xing pa...

報文 幀 資料報等的區別

報文 message 是網路中交換與傳輸的資料單元,也是網路傳輸的單元。報文包含了將要傳送的完整的資料資訊,其長短不需一致。報文在傳輸過程中會不斷地封裝成分組 包 幀來傳輸,封裝的方式就是新增一些控制資訊組成的首部,那些就是報文頭。應用層 報文 message 一般指完整的資訊,傳輸層實現報文交付,...

「等燈 等燈等燈」, 和 的區別

小記錄。是相等操作符,是全等操作符 的判斷標準為兩個運算元相等則返回true,的判斷標誌是兩個運算元未經轉換就相等則返回true 相等操作符的轉換規則 如果有乙個運算元是布林值,則在比較相等性之前先將其轉換為數值,false轉換為0,而true轉換為1 乙個運算元是字串,另乙個運算元是數值,則在比較...