Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

mySqlÖÐÈçºÎÅúÁ¿¸üмÆÊýÆ÷


¼ÙÈçÎÒÃǵÄmysqlÓÐÒ»¸ö¼ÆÊýÆ÷£¬¶øÕâ¸ö¼ÆÊýÆ÷ÐèÒªÎÒÃÇÖØÐÂͳ¼Æ£¬Ôõô°ìÄØ£¿
Ó¦Óó¡¾°£¬±ÈÈç˵ÓÐÒ»¸öÉ̳¡£¬Ã¿ÂôÒ»¸ö²úÆ·¶¼²úÉúÒ»¸öÁ÷Ë®£¬È»ºóÎÒÃÇÐèÒªÖªµÀÿ±ÊÁ÷Ë®ÊǸòúÆ·µÚ¼¸´Î³öÊ۵ģ¬ÕâÑù˵¿ÉÄܲ»Ã÷°×£¬ÎÒÄÃÒ»¸öÏêϸµÄÊý¾Ý
¾ÙÀý°É¡£
recordID,productID,productType,sellDate,counter
1, 1, 1, '2010-1-15 15:20:10' 0
2, 1, 2, '2010-1-15 15:20:10' 1
3, 2, 1, '2010-1-15 15:20:10' 0
4, 2, 1, '2010-1-15 15:20:10' 1
ÉÏÃæÕâ¸öÊý¾ÝÊÇһЩÈöÆøÊý¾Ý£¬°üÀ¨¼Ç¼µÄÁ÷Ë®ºÅ£¬²úÆ·µÄ±àºÅ£¬²úÆ·µÄÀàÐÍ£¬ÏúÊÛµÄʱ¼ä£¬¼ÆÊýÆ÷¡£Ò»°ãÀ´Ëµ£¬¼ÆÊýÆ÷ÎÒÃÇÊ×ÏÈÎÒ»áÏëµ½×ÔÔö£¬µ«Õâ¶ø¿Ï¶¨
ÊDz»¿ÉÄÜʹÓÃ×ÔÔö³¤µÄ¡£
ÎÒ×î³õµÄʱºò£¬³¢Ê¹ÓÃÕâÑùµÄ´úÂ룺update t_product set t_counter = (select max(counter)
from t_product where productid = 1 and productType = 1) + 1 where where
productid = 1 and productType = 1
µ«ÊÇmysql±¨´í£¬ÉÏÍøÒ»²é£¬mysql²»Ö§³ÖÕâÖÖд·¨£¬ºÇºÇ£¬ÎÒ¶ÔmysqlÍêÈ«²»ÊìϤ¡£¼ÇµÃÒÔÇ°ÔÚsql
serverÓùýÓα꣬ȻºóÒ²ÊÔÊÔ²éÕÒÓα꣬¾­¹ýn´ÎgoogleÓë°Ù¶È£¬×îÖո㶨Õâ¸öÄÑÌâ¡£
ÎÒ±¾Éí¶ÔmysqlÍêÈ«ÊǸöÍâÐУ¬¾ÍÁ¬×¢ÊÍÒ²²»ÖªµÀÔõôעÊ͵ģ¬ÏÖÔÚÖÕÓÚÖªµÀÓÐÈýÖÖд·¨µÄ£¬¶ø--µÄ×¢ÊͺóÃæÊÇÒª¿ÕÒ»¸ñµÄ£¬ËùÒÔ´úÂëдµÃÐÔÄÜʲôµÄ
¾Í²»¸Ò˵ÁË£¬Ö»ÊÇʵÏÖÁËÕâ¸ö¹¦ÄÜ£¬Ï£Íû¶ÔÓÐͬÑùÐèÇóµÄÅóÓÑÓÐÓá£
ºÇ£¬»¹Ñ§µ½Ò»µã£¬declareÖ»ÄÜдÔÚ×îÇ°Ãæ¡£
¿´×îÖյĴúÂ룺
CREATE
PROCEDURE
p_resetCounter (
)
BEGIN
DECLARE
productID INT
;
DECLARE
type
INT
;
DECLARE
tmpCount INT
;
DECLARE
stopFlag int
;
 
#ʹÓÃÓαê
DECLARE
cur cursor for SELECT
COUNT
(
*
)
,
productID,
productType from
t_product GROUP BY
productID,
productType;
DECLARE
CONTINUE HANDLER
FOR NOT
FOUND set
stopFlag=
1
;
#Èç¹ûÕÒ²»µ½¼Ç¼£¬ÔòÉèÖÃstopFlag=1
 
#¶¨Òå±äÁ¿¼°´´½¨ÁÙʱ±í
CREATE
TEMPORARY
TABLE
tmp_Counter(
recordID int
not
null
,
Counter int
not
null
)
TYPE
=
HEAP;
 
#´ò¿ªÓαê
open cur;
REPEAT
fetch cur into
tmpCount,
productID,
type
;
SET
@id =
-
1
;
INSERT
INTO
tmp_Counter
(
SELECT
recordID,
(
@id :=
@id +
1
)
counter
from
t_prod


Ïà¹ØÎĵµ£º

MySQLÖÐÓÃsqlÓï¾ä²åÈëʱÆÚ

mysql> create table testdate(
         -> id int not null auto_increment primary key,
         -> time date);
Query OK, 0 rows affected (0.30 sec)
mysql> insert into testdate(time) values('2010-4-23');
Q ......

²»ÒªÊ¹ÓÃһЩmysqlÌØÓеÄtipÀ´Ð´²éѯ

http://immike.net/blog/2007/04/09/how-not-to-optimize-a-mysql-query/
ÕâƪÎÄÕ½¨Ò飺
£¨1£©²»ÒªÊ¹ÓÃһЩmysqlµÄtip£¬È磺SQL_SMALL_RESULT, HIGH/LOW_PRIORITY, and INSERT DELAYED£¬STRAIGHT_JOIN£¬³ý·ÇûÓÐÆäËû·½·¨£¬ÒòΪÕâÑùʧȥÁËSQLµÄ¿ÉÒÆÖ²ÐÔ
£¨2£©Êʵ±¶Ô±í½øÐÐË÷Òý
£¨3£©±ÜÃâ¶Ô²»±ØÒªÊý¾ÝµÄ²éѯ
£¨4£©´¦Àí× ......

mysqlÕýÔò±í´ïʽ LIKE ͨÅä·û

ÓÉMySQLÌṩµÄģʽƥÅäµÄÆäËûÀàÐÍÊÇʹÓÃÀ©Õ¹ÕýÔò±í´ïʽ¡£µ±Äã¶ÔÕâÀàģʽ½øÐÐÆ¥Åä²âÊÔʱ£¬Ê¹ÓÃREGEXPºÍNOT REGEXP²Ù×÷·û(»òRLIKEºÍNOT RLIKE£¬ËüÃÇÊÇͬÒå´Ê)¡£ À©Õ¹ÕýÔò±í´ïʽµÄһЩ×Ö·ûÊÇ£º
“.”Æ¥ÅäÈκε¥¸öµÄ×Ö·û¡£
Ò»¸ö×Ö·ûÀà“[...]”Æ¥ÅäÔÚ·½À¨ºÅÄÚµÄÈκÎ×Ö·û¡£ÀýÈ磬“[abc]”ƥŠ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ