首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

C語言連接MySQL:高性能資料庫選型與實戰經驗分享

     編輯:MySQL 資料庫相關知識

前言:效能與成本的博弈

在資料庫應用開發中,效能與成本往往是一對難以調和的矛盾。以笔者開發股市行情查詢與交易系統為例,系統需在單台PC伺服器(Windows NT、PII 350 CPU、128MB 記憶體、SCSI 硬碟)上,同時支援超過 1000 支股票每分鐘更新一次的即時行情寫入,並響應大量並發使用者的查詢請求。初期採用 MS SQL Server 6.5 搭配 Visual C++ 6.0 與 ODBC 接口,經過大量調優仍無法滿足需求;改用 SQL Server 專屬的 DB-Library 接口繞過 ODBC 解釋層後,每秒可更新 30 次行情、支援 20-30 個並發查詢,勉強達標。但資料庫伺服器仍是系統瓶頸,若升級至 UNIX + 大型資料庫平台,成本將高出數倍。如何在微機平台上構建大容量、高效率、易維護、高性價比的資料庫系統?

MySQL 的發現與基準測試驚喜

調研國內微機平台資料庫應用,發現網易分散式郵件系統採用 FreeBSD + MySQL 架構,表現優異。深入研究 MySQL 文檔後發現:MySQL 是 GNU 開源軟體中極優秀的關係型資料庫,完全符合 SQL92 Entry Level 與 ODBC Level 0-2 規範,在 POSIX 相容作業系統上實現了高效管理。官方提供的 Benchmark 數據顯示,MySQL 在讀寫效能上遠超同級商業資料庫(見下表,測試環境同為 NT 4.0):

索引讀取 2,000,000 行耗時(秒)

資料庫耗時
MySQL367
MySQL_odbc464
db2_odbc1206
informix_odbc121126
ms-sql_odbc1634
Oracle_odbc20800
solid_odbc877
Sybase_odbc17614

插入 350,768 行耗時(秒)

資料庫耗時
MySQL381
MySQL_odbc619
db2_odbc3460
informix_odbc2692
ms-sql_odbc4012
Oracle_odbc11291
solid_odbc1801
Sybase_odbc4802

雖然測試數據可能經過針對性優化,但 MySQL 在 Windows NT 上的原生支援與卓越效能,使其成為構建高性能應用的理想候選。笔者將原系統改用 MySQL C API 介面重寫,長期運行證明其高效穩定,完全滿足大容量、高併發、低成本的建設目標。以下將分享 MySQL 安裝、運行與開發的實戰心得。

[1] [2] [3] [4] [5] 下一頁

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved