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 乙個運算元是字串,另乙個運算元是數值,則在比較...