»ùÓÚMySQLµÄ¸ßÐÔÄÜÊý¾Ý¿âÓ¦Óÿª·¢(ʹÓÃCÁ¬½ÓMysql)
---- ÔÚÊý¾Ý¿âµÄÓ¦Óÿª·¢ÖУ¬³£³£»áÓöµ½ÐÔÄܺʹú¼ÛµÄÖ®¼äì¶Ü¡£ÒÔ×÷ÕßÔÚ¿ª·¢¹ÉÊÐÐÐ
Çé²éѯºÍ½»Ò×ϵͳÖÐÓöµ½µÄÎÊÌâΪÀý£¬ÒªÔÚʵʱ¼Ç¼1000¶àÖ»¹ÉƱÿ·ÖÖÓ¸üÐÂÒ»´ÎµÄÐÐ
ÇéÊý¾ÝµÄͬʱ£¬ÏìÓ¦´óÁ¿²¢·¢Óû§µÄÊý¾Ý²éѯÇëÇ󡣿¼Âǵ½ÐԼ۱ȺÍÒ×ά»¤ÐÔ£¬ÏµÍ³ÓÖ
ÒªÇóÔÚ»ùÓÚPC·þÎñÆ÷£¬Windows NTƽ̨µÄÈíÓ²¼þ»·¾³ÏÂʵÏÖ¡£¿ªÊ¼£¬ÎÒÃDzÉÓÃÁËMS SQL
Server 6.5 ×÷ΪÊý¾Ý¿âϵͳ£¬ÓÃVisual C++ 6.0¿ª·¢ÁË·ÃÎÊÊý¾Ý¿âµÄǰ¶Ë£¬Ó¦ÓÃODBC
Êý¾Ý½Ó¿Ú£¬ÔÚ½øÐÐÁË´óÁ¿µÄÊý¾Ý¿âÅäÖúͳÌÐòÓÅ»¯ºó£¬·¢ÏÖÈÔ²»ÄÜÂú×ãÐÔÄÜÒªÇ󡣺ó²É
ÓÃSQL ServerµÄDB-Library½Ó¿Ú£¬ÈƹýÁËODBC½âÊͲ㣬¿ÉÒÔÿÃë¸üÐÂÐÐÇéÊý¾Ý30´Î£¬Í¬
ʱ֧³Ö20£30¸ö×óÓҵIJ¢·¢Óû§½øÐÐÐÐÇé²éѯ£¬»ù±¾Âú×ãÒªÇ󣨵¥Ì¨PC·þÎñÆ÷£¬µ¥PII3
50 CPU£¬ÄÚ´æ128M£¬SCSIÓ²ÅÌ£©¡£ÓÐûÓпÉÄܽøÒ»²½Ìá¸ßϵͳµÄÐÔÄܺ͸ºÔØÄÜÁ¦ÄØ£¿¾
¹ý·ÖÎö£¬Êý¾Ý¿â·þÎñÆ÷ÊÇϵͳµÄÆ¿¾±¡£µ±È»£¬¿ÉÒÔ²ÉÓÃUNIX·þÎñÆ÷£«´óÐÍÊý¾Ý¿âµÄϵͳ
ƽ̨£¬µ«Æä¿ª·¢¡¢ÔËÐС¢Î¬»¤µÄ·ÑÓñÈ΢»ú£«Windows NTƽ̨µÄ·ÑÓø߳öÊý±¶¡£ÎÒÃÇÔÚ
ÆäËüһЩϵͳµÄ¿ª·¢ÖУ¬Ò²¾³£Óöµ½ÕâÑùµÄì¶Ü¡£ÈçºÎÔÚ΢»úƽ̨ÉϽ¨Á¢´óÈÝÁ¿¡¢¸ßЧ
ÂÊ¡¢Ò×ά»¤¡¢¸ßÐԼ۱ȵÄÊý¾Ý¿âÏµÍ³ÄØ£¿
---- ¿¼²ì¹úÄÚ»ùÓÚ΢»úƽ̨µÄÊý¾Ý¿âÓ¦ÓÃϵͳ£¬µäÐ͵ÄÈçÍøÒ׵ķֲ¼Ê½Óʼþϵͳ£¬²ÉÓÃ
ÁËFreeBSD+MySQLµÄƽ̨£¬ÆäÈÝÁ¿¡¢¸ºÔØÄÜÁ¦ºÍÏìÓ¦Ëٶȶ¼ºÜÓÅÐã¡£×÷Õß²éÔÄÁËMySQLµÄ
Ïà¹ØÎĵµ£¬·¢ÏÖMySQLÊÇGNUÈí¼þ£¨¼´OpenSource×ÔÓÉÈí¼þ£©Öзdz£ÓÅÐãµÄÊý¾Ý¿âϵͳ£¬
ËüÍêÈ«·ûºÏSQL92 £¨Entry level£©ºÍ ODBC£¨ level 0-2£©¹æ·¶£¬ÔÚ·ûºÏPOSIX¹æ·¶µÄ²Ù
×÷ϵͳÉÏʵÏÖÁ˷dz£¸ßЧµÄ¹ØÏµÐÍÊý¾Ý¿â¹ÜÀíϵͳ¡£¸ù¾Ý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µÄÐÔÄܷdz£³öÖÚ£¨µ±È»£¬²âÊÔµÄMySQLϵͳ
¿ÉÄÜ×÷ÁËÓÅ»¯£¬±»²âÊý¾Ý¿ÉÄÜÊÇÕë¶ÔMySQLÑ¡ÔñµÄ£©£¬¶øÇÒMySQLÌṩÁ˶Ô
Ïà¹ØÎĵµ£º
PS:
½ñÌìÈ¥¸£ê¿²Î¼ÓËûÃǹ«Ë¾µÄ±ÊÊÔÁË£¬¿¼µÄ²»ÊǺÜˬ¡£¡£¡£¡£¡£Ò»Ð©ºÜ¼òµ¥µÄ¸ÅÄîÌ⣬²»ÖªµÀÔõô×÷´ð£¬¿´À´Òª¶à¶à¹®¹ÌÏÂÀíÂÛ֪ʶÀ²£¡£¡£¡£¡£¡£¡
ÒÔÏÂת:
ÎÒ´Óʼ¼Êõ¹¤×÷£¬
Õ⼸ÄêµÄÃæÊÔÓë±»ÃæÊÔ×ܽá
ÏÈ˵ÎÒÈ¥±»ÃæÊԵľÑé°É¡£
»Ø´ðÇå³þÁË2¸öÎÊÌ⣬¾ÍÄÜ˳Àû¹ý¹ØÁË¡£
1¡£ÎªÊ²Ã´ÒªÀ뿪ÉÏÒ ......
3.ÄÚ¹¦Ìâ
¡¡¡¡ÊÔÌâ1£º·Ö±ð¸ø³öBOOL£¬int£¬float£¬Ö¸Õë±äÁ¿ Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä£¨¼ÙÉè±äÁ¿ÃûΪvar£©
¡¡¡¡½â´ð£º
¡¡¡¡¡¡BOOLÐͱäÁ¿£ºif(!var)
¡¡¡¡¡¡intÐͱäÁ¿£º if(var==0)
¡¡¡¡¡¡floatÐͱäÁ¿£º
¡¡¡¡¡¡const float EPSINON = 0.00001;
¡¡¡¡¡¡if ((x >= - EPSINON) && (x <= EPSI ......
ʲôÊÇË÷Òý£¿
Ë÷
ÒýÓÃÀ´¿ìËÙµØÑ°ÕÒÄÇЩ¾ßÓÐÌØ¶¨ÖµµÄ¼Ç¼£¬ËùÓÐMySQLË÷Òý¶¼ÒÔB-Ê÷µÄÐÎʽ±£´æ¡£Èç¹ûûÓÐË÷Òý£¬Ö´ÐвéѯʱMySQL±ØÐë´ÓµÚÒ»¸ö¼Ç¼¿ªÊ¼É¨ÃèÕû¸ö±íµÄ
ËùÓмǼ£¬Ö±ÖÁÕÒµ½·ûºÏÒªÇóµÄ¼Ç¼¡£±íÀïÃæµÄ¼Ç¼ÊýÁ¿Ô½¶à£¬Õâ¸ö²Ù×÷µÄ´ú¼Û¾ÍÔ½¸ß¡£Èç¹û×÷ΪËÑË÷Ìõ¼þµÄÁÐÉÏÒѾ´´½¨ÁËË÷Òý£¬MySQLÎÞÐèɨÃèÈκμǼ¼´
¿ ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£ºÁ¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1£® ×Ô¶¯Ôö³¤µÄÊý¾ ......
¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü× ......