MySQLÊý¾Ý¿âÉè¼ÆÔÔò
ת×Ô http://www.supidea.com/post/mysql_design_database.aspx
MySQLÊý¾Ý¿âÉè¼ÆÔÔò
MySQL¶ÔÓÚ³ÉΪһ¸ö·Ç³£¿ìËÙµÄÊý¾Ý¿â·þÎñÆ÷ÓÐ×ŵ±Ö®ÎÞÀ¢µÄÃûÉù£¬ËüÒ²·Ç³£ÈÝÒ×ÉèÖúÍʹÓá£Ëæ×ÅËü×÷ÎªÍøÕ¾ºó¶ËÊý¾Ý¿âµÃÉùÍûÈÕÔö£¬ÆäЧ¹ûÔÚÈ¥Ä꿪ʼÓÐÃ÷ ÏÔÌá¸ß¡£µ«ÊǺܶàMySQLÓû§¸ü¶àµØÖªµÀÈçºÎ´´½¨Ò»¸öÊý¾Ý¿â²¢±àд¶ÔËüµÄ²éѯ¡£¾ÍÏñ³ÉǧÉÏÍòµÄÈËͨ¹ýÔØÏÐϾʱÓÃLinux×öʵÑéÀ´Ñ§Ï°UnixÄÇÑù£¬ºÜ ¶àÈËͨ¹ýÍæMySQLѧϰ¹ØÏµÊý¾Ý¿â¡£ÕâЩMySQLÐÂÊֵĴó¶àÊý¼ÈûÓйØÏµÊý¾Ý¿âÀíÂ۵ı³¾°£¬ÓÖûÓÐʱ¼äÔĶÁMySQLÊÖ²áÈ«ÎÄ¡£
Òò´Ë£¬ÎÒÃǾö¶¨Ñо¿Ä³Ð©·½·¨£¬Äã¿ÉÒÔÓÃÕë¶ÔÓÅ»¯ÐÔÄÜÀ´µ÷½ÚMySQL¡£ÔÚ¶ÁÍê±¾Îĺó£¬Ä㽫Àí½âһЩ°ïÖúÄãÉè¼ÆÄãµÄMySQLÊý¾Ý¿âºÍ²éѯµÄ¼¼Êõ£¬ÖµµÃÄãµÄÓ¦ÓúÜÓÐЧÂÊ¡£ÎÒÃǽ«¼Ù¶¨ÄãÊìϤMySQLºÍSQL»ù´¡£¬µ«²»¼Ù¶¨ÄãÓÐÕâÁ½·½ÃæµÄ¹ã²©ÖªÊ¶¡£
Ö»´æ´¢ÄãÐèÒªµÄÐÅÏ¢
ÕâÌýÉÏÈ¥Êdz£Ê¶£¬µ«ÈËÃdz£³£²ÉÈ¡“³ø·¿ÏÂË®µÀ”µÄ·½Ê½½øÐÐÊý¾Ý¿âÉè¼Æ¡£ËûÃÇÈÏΪ¿ÉÄÜÏîÒªµÃÿÑù¶«Î÷¶¼Òª´æ´¢²¢Éè¼ÆÊý¾Ý¿â±£´æËùÓÐÕßÕâЩÊý¾Ý¡£ÄãÐèÒª¶ÔÄãµÄÐè ÇóÏÖʵЩ£¬²¢È·¶¨È¡È·ÊµÐèҪʲôÐÅÏ¢¡£Äã³£³£ÄÜËæÒâ²úÉúһЩÊý¾Ý¶ø²»°ÑËü´æÔÚÊý¾Ý¿â±íÖС£ÔÚÕâÖÖÇé¿öÏ£¬´ÓÒ»¸öÓ¦Óÿª·¢ÕߵĽǶȿ´Ò²ÓеÀÀíÕâÑù×ö¡£
Àý È磬ÔÚÏßĿ¼µÄ²úÆ·±í¿ÉÄܰüº¬¸÷ÖÖ²úÆ·µÄÃû³Æ¡¢½éÉÜ¡¢³ß´ç¡¢ÖØÁ¿ºÍ¼Û¸ñ¡£³ýÁ˼۸ñ£¬Äã¿ÉÄÜÏë´æ´¢Ã¿¸öÏîÄ¿Ïà¹ØµÄ˰ºÍÔËÊä³É±¾¡£µ«Êµ¼ÊÉϲ»±ØÕâÑù×ö¡£Ê×ÏÈ˰ ºÍÔËÊä³É±¾¿ÉÒÔ·½±ãµØ£¨ÓÉÄãµÄÓ¦ÓûòMySQL£©¼ÆËã³öÀ´¡£Æä´Î£¬Èç¹û˰ºÍÔËÊä³É±¾¸Ä±äÁË£¬Äã¿ÉÄܱØÐë±àд±ØÒªµÄ²éѯ¸üÐÂÿ¸ö²úÆ·¼Ç¼ÖеÄ˰ºÍÔËÊäµÄ·Ñ ÂÊ¡£
ÓÐʱÈËÃÇÈÏΪÕâÌ«ÄѲ»ÄÜÔÚÒÔºóÍùÊý¾Ý¿â±íÖмÓÈë×ֶΣ¬ËùÒÔËûÃǸоõ²»µÃ²»¶¨Ò御¿ÉÄܶàµÄÁС£ÕâÊÇÃ÷ÏԵĸÅÄî´íÎó¡£ÔÚMySQLÖУ¬Äã¿ÉÒÔÓÃALTER TABLEÃüÁî·½±ãµØÐÞ¸Ä±í¶¨ÒåÒÔÊÊÓ¦Äã¸Ä±äµÄÐèÇó¡£
ÀýÈ磬Èç¹ûÄãͻȻÈÏʶµ½ÄãÐèÒª¸øÄãµÄ²úÆ·±íÔö¼ÓÒ»¸ö¼¶±ðÁУ¨¿ÉÄÜÄãÏëÔÊÐíÓû§ÔÚÄãµÄĿ¼Öиø²úÆ·ÆÀ¼¶£©£¬Äã¿ÉÒÔÕâÑù×ö£º
ALTER TABLE products ADD rank INTEGER
Õâ¸øÄãµÄ²úÆ·±íÔö¼ÓÁËÒ»¸öÕûÊýÀàÐ͵ļ¶±ðÁУ¬ÄãÄÜÓÃALTER TABLE×öʲôµÄÍêÕû½éÉܲμûMySQLÊֲᡣ
Ö»ÒªÇóÄãÐèÒªµÄ¶«Î÷--ÒªÇåÎú
¾ÍÏñ˵“Ö»´æ´¢ÄãÐèÒªµÄ¶«Î÷”ÄÇÑù£¬Õâ¿ÉÄÜ¿´À´Êdz£Ê¶£¬µ«ÕâÒ»µã
Ïà¹ØÎĵµ£º
Mysql·½Ê½£º
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MysqlDB {
private String strClass = "com.mysql.jdbc.Driver";
private String strDriver = "jdbc:mysql://localhost: ......
Ïêϸ½âÊͺÍÀý×Ó¼ûÏÂÁÐÎÄÕ£º
http://www.mysqlperformanceblog.com/2008/09/03/analyze-myisam-vs-innodb/
http://www.penglixun.com/work/database/mysql_show_index_cardinality.html
£¨1£©cardinalityÓ°Ïìmysql optimizer¶ÔË÷ÒýµÄѡȡ
£¨2£©¿ÉÒÔͨ¹ýshow index from table_nameÀ´²é¿´±íµÄË÷ÒýºÍcardinality
£¨3£©in ......
ÎÒÓõÄÊÇmysql5.0£¬
ÎÒ³ÌÐòÖÐÓõ½ÁËÒ»¾äsqlÊÇ
SQL code
select count(DISTINCT id) from Policyinfo p where p.filename not in
(select p2.filename from Policyreadinfo p2 where p2.reader='test')
µ«ÊÇÿ´ÎÔÚ³ÌÐòÖÐÿ´ÎÖ´ÐÐÕâ¾äsqlÊ±ÍøÒ³¾ÍÌØÂý£¬Òª10¶àÃ룬¶øÕâ2¸ö±íµÄ¼Ç¼ÐÐÊýÒ²¾Í1000¶à¶øÒÑ£¬ÎÒ°ÑÕâ¾äsqlµ¥¶ÀÄ ......
²éѯÊÇÊý¾Ý¿â¼¼ÊõÖÐ×î³£ÓõIJÙ×÷¡£²éѯ²Ù×÷µÄ¹ý³Ì±È½Ï¼òµ¥£¬Ê×ÏÈ´Ó¿Í»§¶Ë·¢³ö²éѯµÄSQLÓï¾ä£¬Êý¾Ý¿â·þÎñ¶ËÔÚ½ÓÊÕµ½Óɿͻ§¶Ë·¢À´µÄSQLÓï¾äºó£¬ Ö´ÐÐÕâÌõSQLÓï¾ä£¬È»ºó½«²éѯµ½µÄ½á¹û·µ»Ø¸ø¿Í»§¶Ë¡£ËäÈ»¹ý³ÌºÜ¼òµ¥£¬µ«²»Í¬µÄ²éѯ·½Ê½ºÍÊý¾Ý¿âÉèÖ㬶ԲéѯµÄÐÔÄܽ«»áÓкÜÔÚµÄÓ°Ïì¡£
Òò´Ë£¬±¾ÎľÍÔÚMySQLÖг£ÓõIJéѯÓÅ»¯¼¼Êõ½ ......
EXPLAIN ÊÇmysql½âÊÍselect²éѯµÄÒ»¸ö¹Ø¼ü×Ö,¿ÉÒԺܷ½±ãµÄÓÃÓÚµ÷ÊÔ
Óï·¨¸ñʽÈçÏÂ
EXPLAIN tbl_name
»òÕß:
EXPLAIN SELECT select_options
EXPLAIN Óï¾ä¿ÉÒÔ±»µ±×÷ DESCRIBE µÄͬÒå´ÊÀ´Óã¬Ò²¿ÉÒÔÓÃÀ´»ñȡһ¸öMySQLÒªÖ´ÐÐµÄ SELECT Óï¾äµÄÏà¹ØÐÅÏ¢¡£
EXPLAIN tbl_name Óï·¨ºÍ DESCRIBE tbl_name »ò SHOW COLUMNS ......