程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 使用C連接Mysql

使用C連接Mysql

編輯:關於MYSQL數據庫

一、高性能數據庫的選擇

---- 在數據庫的應用開發中,常常會遇到性能和代價的之間矛盾。以作者在開發股市行情查詢和交易系統中遇到的問題為例,要在實時記錄1000多只股票每分鐘更新一次的行情數據的同時,響應大量並發用戶的數據查詢請求。考慮到性價比和易維護性,系統又要求在基於PC服務器,Windows NT平台的軟硬件環境下實現。開始,我們采用了MS SQLServer 6.5 作為數據庫系統,用Visual C++ 6.0開發了訪問數據庫的前端,應用ODBC數據接口,在進行了大量的數據庫配置和程序優化後,發現仍不能滿足性能要求。後采用SQL Server的DB-Library接口,繞過了ODBC解釋層,可以每秒更新行情數據30次,同時支持20-30個左右的並發用戶進行行情查詢,基本滿足要求(單台PC服務器,單PII350 CPU,內存128M,SCSI硬盤)。有沒有可能進一步提高系統的性能和負載能力呢?經過分析,數據庫服務器是系統的瓶頸。當然,可以采用UNIX服務器+大型數據庫的系統平台,但其開發、運行、維護的費用比微機+Windows NT平台的費用高出數倍。我們在其它一些系統的開發中,也經常遇到這樣的矛盾。如何在微機平台上建立大容量、高效率、易維護、高性價比的數據庫系統呢?

---- 考察國內基於微機平台的數據庫應用系統,典型的如網易的分布式郵件系統,采用了FreeBSD+MySQL的平台,其容量、負載能力和響應速度都很優秀。作者查閱了MySQL的相關文檔,發現MySQL是GNU軟件(即OpenSource自由軟件)中非常優秀的數據庫系統,它完全符合SQL92 (Entry level)和 ODBC( level 0-2)規范,在符合POSIX規范的操作系統上實現了非常高效的關系型數據庫管理系統。根據MySQL提供的文檔,它的數據操作堪稱所有數據庫中最高效的,Benchmark如下表:

Reading 2000000 rows by index

Database Seconds

MySQL 367

MySQL_odbc 464

db2_odbc 1206

informix_odbc 121126

ms-sql_odbc 1634

Oracle_odbc 20800

solid_odbc 877

Sybase_odbc 17614

Inserting (350768) rows

Database Seconds

MySQL 381

MySQL_odbc 619

db2_odbc 3460

informix_odbc 2692

ms-sql_odbc 4012

Oracle_odbc 11291

solid_odbc 1801

Sybase_odbc 4802

(run on the same NT 4.0 Machine)

---- 從MySQL的Benchmark中可以看到,MySQL的性能非常出眾(當然,測試的MySQL系統可能作了優化,被測數據可能是針對MySQL選擇的),而且MySQL提供了對Windows NT的支持。Windows NT+MySQL能否成為構建高性能數據庫應用的理想選擇呢?作者用MySQL的數據接口改寫了程序,經過一段時間的運行,證明MySQL確實是高效而穩定的數據庫,非常適合構建大容量、高效率、易維護、高性價比的數據庫應用系統。現將MySQL的安裝、運行、開發的心得與大家共享。

二、

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved