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 ÖеĴ洢¹ý³Ì£º
1.ÔÚ½¨Á¢´æ´¢¹ý³Ì֮ǰ¼ì²éËùÃüÃûµÄ´æ´¢¹ý³ÌÊÇ·ñÓ¦¾´æÔÚ¡££¨ÒòΪÈç¹ûͬÃû´æ´¢¹ý³ÌÒѾ´æÔÚ£¬ÐµĴ洢¹ý³Ì½«²»±»½¨Á¢£©
if exists(select * from sysobject where name='proc name' and type='p')
drop proc proc name
go
2.¶¨Òå´æ´¢¹ý³Ì
create proc test
@gradel int, --¶¨Òå±äÁ ......
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.Hibernat ......
1 ÈçºÎËøÒ»¸ö±íµÄijһÐÐ
A Á¬½ÓÖÐÖ´ÐÐ
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
begin tran
selec ......
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Default" value="Default" />
</appSettings>
<connectionStrings>
<add name="Default" connectionString="Data Source=192.168.1.197;User ID ......
ÎÒÃÇÔÚÊý¾Ý¿âÖÐʹÓñíµÄʱºò,¾³£»áÓöµ½Á½ÖÖʹÓñíµÄ·½·¨,·Ö±ð¾ÍÊÇʹÓÃÁÙʱ±í¼°±í±äÁ¿¡£ÔÚʵ¼ÊʹÓõÄʱºò£¬ÎÒÃÇÈçºÎÁé»îµÄÔÚ´æ´¢¹ý³ÌÖÐÔËÓÃËüÃÇ£¬ËäÈ»ËüÃÇʵÏֵŦÄÜ»ù±¾ÉÏÊÇÒ»ÑùµÄ£¬¿ÉÈçºÎÔÚÒ»¸ö´æ´¢¹ý³ÌÖÐÓÐʱºòȥʹÓÃÁÙʱ±í¶ø²»Ê¹Óñí±äÁ¿£¬ÓÐʱºòȥʹÓñí±äÁ¿¶ø²»Ê¹ÓÃÁÙʱ±íÄØ?
¡¡¡¡ÁÙʱ±í
¡¡¡¡ÁÙʱ±íÓëÓÀ¾Ã±íÏàËÆ£¬ ......