SQL Óï¾äÓÅ»¯
hust ei
JOINÓÅ»¯
MySQLÖÐjoinµÄʵÏÖ²ÉÓõÄÊÇNested Loop JoinËã·¨¡£Í¨¹ýÇý¶¯±íµÄ½á¹û¼¯×÷Ϊѻ·»ù´¡Êý¾Ý£¬È»ºó½«¸Ã½á¹û¼¯ÖеÄÊý¾Ý×÷Ϊ¹ýÂË
Ìõ¼þÒ»ÌõÌõµÄµ½ÏÂÒ»¸ö±íÖвéѯÊý¾Ý£¬×îºóºÏ²¢½á¹û£¬Èç¹û´æÔÚºóÐø±í£¬¹ý³ÌÒ²Èç´Ë¡£
¾¡Á¿¼õÉÙjoinÓï¾äÖÐnested loopÑ»·µÄ´ÎÊý¡£×îÓÐЧµÄ·½·¨ÊÇÈÃÇý¶¯±íµÄ½á¹û¼¯¾¡¿ÉÄܵÄС
ÓÅÏÈÓÅ»¯nested loopÖеÄÄÚ²ãÑ»·
±£Ö¤joinÓï¾äÖб»Çý¶¯±íµÄjoin×Ö¶ÎÒѾ±»Ë÷Òý
Èç¹ûÎÞ·¨Âú×ã3£¬ÇÒÄÚ²ã×ÊÔ´³ä×ãʱ£¬ºÏÀíÉèÖÃjoin buffer£¨join_buffer_size²ÎÊý£©
ORDER BY ÓÅ»¯
ORDER BYµÄʵÏÖÓÐ2ÖÖ£¬Ò»ÖÖÊÇͨ¹ýÓÐÐòË÷ÒýÖ±½ÓÈ¡µÃÓÐÐòµÄÊý¾Ý£»ÁíÍâÒ»ÖÖÔòÐëͨ¹ýMySQLÅÅÐòËã·¨½«´æ´¢ÒýÇæ·µ»ØµÄÊý¾Ý½øÐÐ
ÅÅÐòºó£¬ÔÚ·µ»Ø¸øÓû§¡£
ÀûÓÃË÷ÒýʵÏÖÅÅÐòÊÇMySQLÖÐʵÏÖ½á¹û¼¯ÅÅÐòµÄ×î¼Ñ·½·¨£¬ËùÒÔÔÚÓÅ»¯ORDER BYʱ£¬¾¡¿ÉÄܵÄÀûÓÃÒÑÓеÄË÷ÒýÀ´±ÜÃâʵ¼ÊµÄÅÅÐò£¬
ÉõÖÁ¿ÉÒÔÔö¼ÓË÷Òý×ֶΡ£
µ±Ã»ÓÐË÷Òý¿ÉÓÃʱ£¬MySQLÓÐÒÔÏµķ½·¨À´Íê³ÉÅÅÐò£º
È¡³öÂú×ã¹ýÂËÌõ¼þµÄ×÷ΪÅÅÐòÌõ¼þµÄ×ֶΣ¬ÒÔ¼°¿ÉÒÔ¶¨Î»µ½ÐÐÊý¾ÝµÄÐÐÖ¸ÕëÐÅÏ¢£¬ÔÚsort bufferÖнøÐÐʵ¼ÊµÄÅÅÐò£¬È»ºóÀûÓÃÅÅÐòºÃµÄÊý¾Ý¸ù¾ÝÐÐÖ¸ÕëÐÅÏ¢·µ»Ø±íÖÐÈ¡µÃ¿Í»§¶ËÆäËûµÄÇëÇó×Ö¶ÎÊý¾Ý
¸ù¾Ý¹ýÂËÌõ¼þÒ»´ÎÈ¡³öËùÓÐÂú×ãµÄ¿Í»§¶ËÇëÇó×Ö¶ÎÒÔ¼°ÅÅÐò×ֶΣ¬²¢½«²»ÐèÒªÅÅÐòµÄ×ֶηÅÔÚÒ»¿éÄÚ´æÇøÓòÄÚ£¬È»ºóÔÙsort bufferÖн«ÅÅÐò×ֶνøÐÐÅÅÐò£¬×îºóÔÚºÍÆäËûÔÚsort bufferÖÐ×Ö¶Î×éºÏ·µ»Ø¸øÓû§
Ïà¶ÔÀ´Ëµ£¬·½·¨2¿ÉÒÔ¼õÉÙIO£¬µ«ÊÇÐèÒª¸ü¶àµÄÄÚ´æ¿Õ¼ä¡£
ÓÅ»¯Ñ¡Ôñ£º
¼Ó´ómax_length_for_sort_dataÖµ¡£ÒòΪMySQL¸ù¾ÝÕâ¸öÖµÀ´¾ö¶¨ÊÇ·ñʹÓ÷½·¨2.µ±·µ»Ø¸øÓû§µÄ×ֶεÄ×ܳ¤¶ÈСÓÚ¸ÃÖµÊÇ¿ÉÒÔʹÓ÷½·¨2.ËùÒÔÔÚÄÚ´æ¿Õ¼ä³ä×ãʱ£¬Ôö´ó¸ÃÖµ¿ÉÒÔʹÅÅÐò·½·¨2Ö´ÐУ¬´Ó¶ø¸ÄÉÆIO
È¥µô²»±ØÒªµÄ·µ»Ø×Ö¶Î
Ôö´ósort_buffer_sizeµÄ´óС¡£¸ÃÖµ¹ýСµÄ»°£¬»á¶ÔÊý¾Ý·Ö¶ÎµÄÅÅÐò¡£
GROUP BY ÓÅ»¯
MySQLÖÐGROUP BYµÄʵÏÖÓÐ3ÖÐÐÎʽ£¬Ç°2ÖÐʹÓÃË÷ÒýÐÅÏ¢À´GROUP BY£¬×îºóÒ»ÖÖÔòʹÓÃÓÚÍêÈ«ÎÞ·¨Ê¹ÓÃË÷ÒýµÄ³¡¾°¡£
ʹÓÃËÉÉ¢£¨LOOSE£©Ë÷ÒýɨÃèʵÏÖGROUP BY
Æä±¾ÒâÔÚÓÚµ±MySQLÍêÈ«ÀûÓÃË÷ÒýɨÃèÀ´ÊµÏÖGROUP bYʱ£¬²¢²»ÐèҪɨÃèËùÓÐÂú×ãÌõ¼þµÄË÷ÒýÏî¼´¿ÉÍê³É²Ù×÷¡£ÔÚÖ´Ðмƻ®µÄExtraÏî¿ÉÒÔÊä³öÐÅÏ¢“Using index for group-by”
¡£ÕâÖÖʵÏÖÊÇ×î¸ßЧµÄ£¬ÒòΪÌõ¼þ¹ýÂ˵ÄÊä³ö¼´ÊÇÐèÒªµÄ½á¹û¡£ÒªÀûÓø÷½·¨ÐèÂú×ãÒÔÏÂÌõ¼þ£º
GROUP BYÌõ¼þ×ֶαØÐë´¦ÓÚͬһË÷ÒýµÄ×îÇ°ÃæµÄÁ¬Ðø×ֶΣ¨»òÊÇ´æÔڵĵ¥ÁÐË÷Òý£¬µ±¸ÃÌõ¼þ½öΪһÁÐʱ£©
ÔÚʹÓÃÁËGROUP BYµÄÍ
Ïà¹ØÎĵµ£º
ÅäÖÃsql server 2000ÒÔÔÊÐíÔ¶³Ì·ÃÎÊÊʺϹÊÕÏ:1. ÓÃsqlÆóÒµ¹ÜÀíÆ÷ÄÜ·ÃÎÊsql server 2000(ÒòΪËüÊDzÉÓÃÃüÃû¹ÜµÀ(named pipes)·½Ê½½øÐз½Ê½),µ«ÓÃado.net ·½Ê½(udp)²»ÄÜ·ÃÎÊ.2. ²ÉÓÃado.net·½Ê½²»ÄÜÔ¶³Ì·ÃÎÊ.¹ÊÕϵĿÉÄÜÔÒòÓÐ:1.sql server 2000ûÓа²×°sql server 2000 sp3a¼°ÒÔÉÏÉý¼¶°ü,»¹Î´ÆôÓò¢¿ª·Å1433¶Ë¿Ú(udp);2 ......
@SuppressWarnings("unchecked")
public List<ZxFunction> selectFunctionParentByUserId(final int userId) {
try {
final String sql = "select * from zx_function ......
ÍøÂç±ðÃû
-----------------------------------------------------------------------------
ÓÃ;£ºÎªÔ¶³Ì·þÎñÆ÷µÄÒÑÓбíÌí¼ÓÊý¾Ý
-----------------------------------------------------------------------------
²½Ö裺
SQL Server2000/2005
1. ÔËÐпͻ§¶ËÍøÂçʵÓù¤¾ß£¨
£¨1£© SQL Server2000-Client Network Ut ......
Student(S#,Sname,Sage,Ssex) ѧÉú±í
Course(C#,Cname,T#) ¿Î³Ì±í
SC(S#,C#,score) ³É¼¨±í
Teacher(T#,Tname) ½Ìʦ±í
ÎÊÌ⣺
1¡¢²éѯ“001”¿Î³Ì±È“002”¿Î³Ì³É¼¨¸ßµÄËùÓÐѧÉúµÄѧºÅ£»
select a.S# from (select s#,score from SC where C#='001') a,(select s#,score
fr ......
ºØÖÝÊм²²¡Ô¤·À¿ØÖÆÖÐÐÄËùÓõÄZmSoft´ÓÒµÌå¼ìÐÅÏ¢ÍøÂçϵͳV2010.1.26 Õýʽ°æ²ÉÓÃSQL SERVER2000ƽ̨,²»Ã÷ÔÒò,Êý¾Ý¿â"ÖÃÒÉ“,¿Í»§ÊÔ¹ýËùÓÐÍøÉÏ·½·¨,δÄܽâ¾ö.ÉòÑô¿ÎÄÊý¾Ý»Ö¸´ÖÐÐÄSQLÊý¾Ý¿â¹¤³Ìʦ³É¹¦½«Æä½â¾ö.
ÉòÑô¿ÎÄÊý¾Ý»Ö¸´ÖÐÐÄMS SQL SERVERÑз¢Ð¡×éÖÂÁ¦ÓÚMsSqlÊý¾Ý¿â¼¼ÊõµÄÑо¿¡£¾¹ý¶àÄêÑо¿ÍêÈ«ÕÆÎÕÁËS ......