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
Ïà¹ØÎĵµ£º
¸ù¾ÝChaos WangµÄPPTÕûÀí¶ø³É£¬ ÔÚ´ËÔٴθÐлChaos WangµÄ´Ë´ÎTechTalk
»ù±¾¸ÅÄî
• ×Ö·û(Character)ÊÇÖ¸ÈËÀàÓïÑÔÖÐ×îСµÄ±íÒå·ûºÅ¡£ÀýÈç'A'¡¢'B'µÈ£»
• ¸ø¶¨Ò»ÏµÁÐ×Ö·û£¬¶Ôÿ¸ö×Ö·û¸³ÓèÒ»¸öÊýÖµ£¬ÓÃÊýÖµÀ´´ú±í¶ÔÓ¦µÄ×Ö·û£¬ÕâÒ»ÊýÖµ¾ÍÊÇ×Ö·ûµÄ±àÂë(Encoding)¡£ÀýÈ磬ÎÒÃǸø×Ö·û'A'¸³ÓèÊýÖµ0£¬¸ø×Ö·û'B'¸³ÓèÊýÖµ ......
<?php
class mysql {
/*+++++++++++++++Êý¾Ý¿â·ÃÎÊÀà++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
//=================================================
//Á¬½ÓÊý¾Ý
private $Hos ......
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 8Сʱ ¶Ï¿ªÁ´½ÓÎÊÌâ
½â¾ö°ì·¨ÓÐÁ½¸ö£ºµÚÒ»ÊÇÉèÖÃautoReconnectÊôÐÔÉèÖÃΪtrue£»µÚ¶þÊÇÉèÖÃDBCP ʱ½«testqueryµÈ¼¸¸öÊôÐÔÒ»²¢ÉèÖá£
ÎÊÌâµÄÔÒòÊÇ£¬MySQLµÄ²ÎÊýinteractive_timeout£¬Ò²¾ÍÊǽ»»¥³¬Ê±Ê±¼äĬÈÏΪ8Сʱ¡£Ò²¾ÍÊÇÈç¹ûÒ»¸öÁ´½ÓÔÚ8Сʱºó£¬»¹Ã»ÓкͷþÎñÆ÷½»»¥£¬Õâ¸öÁ¬½Ó¾Í»á±»MySQL·þÎñÆ÷¶Ï¿ª¡£ÒòΪMySQLÄÜ ......
¸ãÁ˺ܾᣡ£ÖÕÓÚ·¢ÏÖÔÀ´ÊÇȨÏÞÎÊÌâ¡£¡£
2ÐÐÃüÁî¸ã¶¨
grant all privileges on rogue.* to admin@localhost identified by 'admin' with grant option
grant all privileges on rogue.* to admin@'%' identified by 'admin' with grant option
¾µäÁË¡£¡£¡£
ħÁ¦Ë½·þÍøÒ³¶Ë¸ã¶¨¿©~~ ......