[ת]mysql ÓÅ»¯ÐĵÃÒ»µãµã
×î½üÍøÕ¾Êý¾ÝÁ¿½Ú½ÚÅÊÉý£¬¾ÝBD·½ÃæÍ¨±¨¶ÌÆÚÄÚUV»¹ÒªÉÏÉý30%-50%¡£µ±Ç°×îÍ»³öµÄÎÊÌâÊǺǫ́ÄÚÈÝÉóºËϵͳѹÁ¦Ì«´ó£¬ÒѾÖð½¥Á¦²»´ÓÐÄ¡£¾¡¹Ü¼ÓÁËһЩӲ¼þµ«Ð§¹û²¢²»ÊÇÌ«ÀíÏ룬Ö÷Òª»¹ÊÇǰһ¶Îʱ¼ä°Ñ¹¤×÷ÖØµã¶¼·ÅÔÚǰ¶ËÄ£¿éÉÏÁË¡£ÄÚÈݹÜÀíÆ½Ì¨µÄ²¿·Ö´úÂëûÓÐ×ÐϸÕå×᣽ÓÏÂÀ´Ò»¶Îʱ¼ä¼¯Öо«Á¦ÓÅ»¯ºǫ́¡£
Ê×ÏȽ«¶à±íÁ¬²éµÄSQLÄóöÀ´£¬²ð·Ö³Éµ¥±í²éѯ¡£½«²éѯ³öÀ´µÄÊý¾Ý·µ»Øµ½Ò³ÃæÉÏÔÙÓÃajaxµÃµ½¸½±íÖеÄÊý¾Ý¡£ÕâÑùËäÈ»Ôö¼ÓÁËÇëÇó´ÎÊý£¬µ«Êý¾Ý¿âµÄslow query²»¼ûÁË¡£
ʹÓà EXPLAIN ÃüÁîÖðÌõ¼ì²éSQLÓï¾ä¡£·¢ÏÖÁ˺ܶà using sortfile ¡£ËµÃ÷ÕâЩµØ·½ÊÇÐèÒªÖØµãÓÅ»¯µÄ¡£¼ì²éwhere Ìõ¼þºóÃæµÄ×ֶΣ¬½¨Á¢ÁªºÏË÷Òý¡£Ê¹Óà use index(`index_name`) ¸æËßmysqlʹÓÃÄĸöË÷Òý½øÐмìË÷
order by / group by ×Ó¾äÊDzúÉúslow query µÄ¶à·¢Çø¡£Ò»¶¨Òª¼ì²é ÅÅÐò×Ö¶ÎÊÇ·ñ½¨Á¢ÁËË÷Òý£¬²¢ÇÒҪʹÓà use index(`index_name`) Ç¿ÖÆÊ¹ÓÃÕâ¸öË÷Òý¡£
ÖÕÓÚ´ïµ½ÁËÀíÏëµÄЧ¹û¡£ÒÔǰһ¸ö·ÖÒ³²éѯҪִÐÐ8Ã룬ÏÖÔÚ²»µ½0.1Ãë¡£µ«ÊÇmysqlÖÐÎĹؼü×Ö²éѯһֱÊÇÓÅ»¯¹¤×÷µÄ×îºó°í½Åʯ¡£
ºǫ́ÄÚÈÝÉóºË¹¤×÷±È½ÏÌØÊ⣬ËûÒªÇóÊý¾Ý²»ÄÜ»º´æ£¬¼ìË÷Ìõ¼þ½Ï¶à£¬²¢ÇÒÐèÒª¾«×¼Æ¥Å䣬Òò´ËʹÓÃLucene×÷ºǫ́¼ìË÷ÊÇÔç¾Í±»·ñ¶¨µÄ·½°¸¡£¶ømysql¹Ù·½°æ±¾ÓÖ²»Ö§³Ö ÖÐÎÄÈ«ÎļìË÷£¨Ö÷ÒªÊÇûÓнâ¾öÖÐÎÄ·Ö´ÊÎÊÌ⣩¡£Ò»µ©Åöµ½±êÌâ»òÄÚÈݹؼü×Ö¼ìË÷¾ÍҪʹÓÃlike '%xxxx%' £¬ÕâÖÖ·½Ê½Êý¾ÝÁ¿Ð¡µÄʱºò»¹¿ÉÒÔ½ÓÊÜ£¬µ«ÉÏÁ˼¸Ê®ÍòÊý¾Ýºó¾ÍÃ÷ÏÔÌåÁ¦²»Ö§ÁË¡£
×îºóÈ·¶¨ÁËÁ½Ì׿ÉÐеķ½°¸´ýÑ¡¡£
1¡¢ÔÚÐèÒªÖÐÎĹؼü×ִʼìË÷µÄ±íÖУ¬¸ù¾ÝÒª¼ìË÷µÄ×Ö¶ÎÔÙÔö¼ÓÒ»¸ö×ִʲð·Ö×ֶβ¢ÔÚÕâ¸ö×Ö¶ÎÉϽ¨Á¢ FULLTEXT ÀàÐÍË÷Òý¡£ÔÚÊý¾ÝдÈëµÄʱºò£¬Ê¹ÓÃÒ»¸ö·Ö´ÊËã·¨½«ÄÚÈݲð·Ö³É´Ê²¢Óÿոñ·Ö¿ª£¬´æÈëÐÂÔöµÄ²ð·Ö×ֶΡ£¼ìË÷µÄʱºò ʹÓà match against ¶ÔÕâ¸öFULLTEXT×öÈ«ÎļìË÷¡£
2¡¢Ê¹Óú£Á¿¿Æ¼¼Ñз¢µÄmysql chinese plus ¡£Êµ¼ÊÉÏÕâ¸ö¶«¶«ÊÇÔÚº£Á¿ÖÐÎķִʼ¼ÊõµÄ»ù´¡ÉÏΪmysqlÔö¼ÓÁËÖÐÎÄ×ִʵÄÈ«ÎļìË÷¡£ÊÔÓðæÐ§¹ûºÜ²»´í¡£ºÜÊʺÏ×öºǫ́ÖÐÎļìË÷¹¤×÷¡£µ«ÊǼ۸ñÒ²²»µÍ¡£
×ܽáÈçÏ£º
1¡¢Òª°Ñ½¨Á¢Ë÷Òýµ±³ÉÒ»ÖÖϰ¹ß¡£
2¡¢ÉÆÓÃEXPLAINÃüÁî ·ÖÎöSQLÓï¾ä£¬ ¼ì²éÎÒÃǽ¨Á¢µÄË÷ÒýÊÇ·ñÃüÖУ¬ExtroÁÐÖÐÊÇ·ñ»¹´æÔÚ "using sortfile" Èç¹ûÓеĻ°Ò»¶¨ÒªÍ¨¹ýµ÷ÕûË÷Òý»òÐÞ¸ÄSQLÉõÖÁÐÞ¸ÄÂß¼µÈ·½·¨°ÑËûÏûÃð¡£·ñÔòËæ×ÅÊý¾ÝÁ¿ÅÊÉýmysqlÔçÍí»áſϡ£
3¡¢ÒªÆÀ¹Àij×Ö¶ÎȡֵÔÚËùÓмǼÖеÄÊýÁ¿¡£±ÈÈçÒ»¸ö×Ö¶ÎA ÀàÐÍΪENUM('yes','no')£¬±íÖеÄ100ÍòÌõ¼Ç¼ÓÐ99ÍòÌõ¼Ç
Ïà¹ØÎĵµ£º
×î½üÓöµ½Ò»¸öÐèÇóÒªÔÚlinuxÏÂÓÃjava µ÷ÓÃmysql¿Í»§¶ËÔ¶³ÌµÇ½mysql·þÎñÆ÷£¬´Ó¿Í»§¶Ë»úÆ÷µ¼Èëmysql½Å±¾£¬´Ómysql·þÎñÆ÷¶Ëµ¼³ö±íÖеÄÊý¾Ý¡£ÒÔÏÂÊÇÓõ½µÄÖ÷Òª·½·¨£º
Java ´úÂë
/**
* µ¼ÈëÊý¾Ý
* @param ½Å±¾µÄµØÖ·ºÍÃû³Æ
* @return ÊÇ·ñ³ ......
1.ÔÚ´´½¨±íµÄͬʱ´´½¨Ë÷Òý
CREATE TABLE material(id INT NOT NULL, name char(40) NOT NULL, resistance INT, INDEX index1(id,name), UNIQUE INDEX index2(name))
µÚÒ»¸öË÷Òý£¬ÃûΪindex1£¬ÓÉidºÍnameÁ½¸ö×Ö¶Î×é³É¡£µÚ¶þ¸öË÷ÒýÖ»°üº¬name£¬²¢Ö¸Ã÷name×ֶεÄÖµ±ØÐëÊÇΨһµÄ¡£
2.²åÈëÊý¾Ý£¬¿ÉÒÔͨ¹ýÆäËûij ......
½ñÌì´î½¨mysqlÊý¾Ý¿â,Á¬½ÓÁ˰ëÌì,¶¼Ìáʾ10061´íÎó,ÒÔΪÃÜÂë³öÁËÎÊÌâÊÔÁ˰ëÌì,ѹ¸ùÁ¬·þÎñ¶¼Á¬½Ó²»ÉÏ,æ»îÁ˰ë¸ö¶àСʱ,²Å·¢ÏÖÊÇϵͳ²¹¶¡´òÁËÖ®ºó³öÏÖµÄÎÊÌâ(kb967723)
ÓÚÊÇÍøÉÏÕÒÁËÒ»ÏÂ×ÊÁÏ
×î½üÒ»¸ö¿Í»§·þÎñÆ÷µÄMYSQLƵ·±ÌáʾÁ¬½Ó²»ÉÏ£¬ÐÞ¸ÄÁËMYSQLµÄ×î´óÁ¬½ÓÊý»¹ÊÇÕâÑù£¬ÓÚÊÇ¿ªÊ¼ÎÊÍòÄܵÄËÑË÷ÒýÇæ´óÈË£¡ÖÕÓÚÔÚ΢ÈíÕÒµ½ÁË ......
try
{
string _conStr = "Driver={MySQL ODBC 3.51
Driver};server=localhost;database=test;uid=test;password=1;option=3";
& ......
Ò»¡¢MySQL »ñµÃµ±Ç°ÈÕÆÚʱ¼ä º¯Êý
select now();
+---------------------+
| now() |
+---------------------+
| 2008-08-08 22:20:46 |
+---------------------+
³ýÁË now() º¯ÊýÄÜ»ñµÃµ±Ç°µÄÈÕÆÚʱ¼äÍ⣬MySQL Öл¹ÓÐÏÂÃæµÄ ......