資料庫連線引擎那點事兒

2021-08-20 11:51:05 字數 938 閱讀 4895

在資料庫實際操作過程中,我們很少涉及到資料庫引擎物件的事情,一般情況在建立資料庫的時候都使用預設的innodb資料庫引擎,那麼到底什麼是資料庫引擎,有什麼樣的資料庫引擎,在實際使用的過程中都有什麼主意事項,為什麼innodb作為預設的資料庫引擎,都是我們需要特別注意但是不需要太多操作的問題!

資料庫引擎定義了資料庫儲存資料的資料結構特點,主要通過指定的資料庫引擎物件來限制資料庫運算元據不同方式的效率、鎖和事務的支援、資料全文檢索的支援、資料集的快取操作等等特性。

比較常見的資料庫引擎物件主要有兩種,一種是常見的innodb,另一種是很多人經常提到但是很少用到的myiasm。

兩種資料庫引擎都是通過b+樹實現了資料庫中最重要的資料索引

3.1. innodb引擎

innodb使用b+樹完成資料庫索引的實現,但是在資料儲存時資料結構中儲存的是實際資料,被稱為聚集索引的東東,不支援全文檢索,啟動也是比較慢的。

innodb引擎支援acid事務的支援,提供了行級鎖和外來鍵約束,設計目標是處理大容量資料庫系統,處理過程中會在記憶體中建立資料庫緩衝區用於快取資料和索引資料。但是如果進行select count(*) from 時,會進行全表掃瞄,不會快取掃瞄結果;同時在高併發的情況下,由於innodb引擎支援的鎖的粒度較細,不會在寫操作時全表鎖定,有利於高併發下效能的提公升。

3.2. myiasm引擎

myiasm使用b+樹完成資料庫索引的實現,但是在資料儲存時資料結構中儲存的是實際資料的位址,被稱為非聚集索引,支援全文檢索

myiasm不支援事務操作,不支援行級鎖和外來鍵的約束;在進行select count(*) from 操作時會快取資料,不會進行全表掃瞄。

3.3. 使用區分

如果我們的資料庫儲存大量資料,需要支援事務操作和外來鍵約束,同時在出現故障需要快速恢復時,使用innodb引擎;

如果我們的資料庫中需要大量而頻繁的的insert語句操作時,可以選擇myiasm資料庫引擎

C 連線Oracle資料庫 直接引用dll使用

至 專案中有個功能需要從一台oracle資料庫獲取資料,本以為是很簡單的事情,直接將原來的sqlclient換成oracleclient呼叫,結果遠沒自己想的簡單。有很多需要安裝oracle客戶端,正好專案非常急,公司也沒有oracle環境,可把我急壞了。網上這方面搜尋後,太多的文章,還要不停的去測...

C 連線Oracle資料庫 直接引用dll使用

專案中有個功能需要從一台oracle資料庫獲取資料,本以為是很簡單的事情,直接將原來的sqlclient換成oracleclient呼叫,結果遠沒自己想的簡單。有很多需要安裝oracle客戶端,正好專案非常急,公司也沒有oracle環境,可把我急壞了。網上這方面搜尋後,太多的文章,還要不停的去測試,...

mysql資料庫引擎 mysql資料庫引擎

資料庫引擎是用於儲存 處理和保護資料的核心服務。利用資料庫引擎可控制訪問許可權並快速處理事務,從而滿足企業內大多數需要處理大量資料的應用程式的要求。使用資料庫引擎建立用於聯機事務處理或聯機分析處理資料的關聯式資料庫。這包括建立用於儲存資料的表和用於檢視 管理和保護資料安全的資料庫物件 如索引 檢視和...