;
帖子
3919 
精华
积分
11710 
鱼币
0 ¥ 
来自
大连 
在线时间
1858 小时 
注册时间
2007-6-11 
最后登录
2009-10-20 

贴图大师勋章新人进步勋章宣传大使勋章论坛元老勋章

3
发表于 2009-1-5 19:48 | 只看该作者
MySQL鎬ц兘浼樺寲鍏ㄦ敾鐣ワ紙4锛夌浉鍏虫暟鎹簱鍛戒护 - 缂栫▼搴 - Powered by SupeSite

浣犵殑浣嶇疆锛缂栫▼搴 >> 璧勮 >> MySQL >> mysql鏁欑▼ >> 璇︾粏鍐呭 鍦ㄧ嚎鎶曠ǹ

MySQL鎬ц兘浼樺寲鍏ㄦ敾鐣ワ紙4锛夌浉鍏虫暟鎹簱鍛戒护

鍙戝竷: 2008-7-01 09:02 |  浣滆: admin |   鏌ョ湅: 26娆

MySQL鎬ц兘浼樺寲鍏ㄦ敾鐣ワ紙4锛夌浉鍏虫暟鎹簱鍛戒护

銆愬瓧浣擄細灏 澶с

MySQL鎬ц兘浼樺寲鍏ㄦ敾鐣ワ紙4锛夌浉鍏虫暟鎹簱鍛戒护

浣滆咃細涓嶈 鏂囩珷鏉ユ簮锛氱綉缁 鐐瑰嚮鏁帮細413 鏇存柊鏃堕棿锛2007-1-21

鎺ヤ笅鏉ユ垜浠璁ㄨ鐨勬槸鏁版嵁搴撴ц兘浼樺寲鐨勫彟涓鏂归潰锛屽嵆杩愮敤鏁版嵁搴撴湇鍔″櫒鍐呭缓鐨勫伐鍏疯緟鍔╂ц兘鍒嗘瀽鍜屼紭鍖栥

銆銆 鈻 SHOW

銆銆 鎵ц涓嬮潰杩欎釜鍛戒护鍙互浜嗚В鏈嶅姟鍣ㄧ殑杩愯鐘舵侊細

MySQL >show status;

銆銆 璇ュ懡浠ゅ皢鏄剧ず鍑轰竴闀垮垪鐘舵佸彉閲忓強鍏跺搴旂殑鍊硷紝鍏朵腑鍖呮嫭锛氳涓璁块棶鐨勭敤鎴锋暟閲忥紝琚腑姝㈢殑杩炴帴鏁伴噺锛屽皾璇曡繛鎺ョ殑娆℃暟锛屽苟鍙戣繛鎺ユ暟閲忔渶澶у硷紝浠ュ強鍏朵粬璁稿鏈夌敤鐨勪俊鎭傝繖浜涗俊鎭浜庣‘瀹氱郴缁熼棶棰樺拰鏁堢巼浣庝笅鐨勫師鍥犳槸鍗佸垎鏈夌敤鐨勩

銆銆 SHOW鍛戒护闄や簡鑳藉鏄剧ず鍑篗ySQL鏈嶅姟鍣ㄦ暣浣撶姸鎬佷俊鎭箣澶栵紝瀹冭繕鑳藉鏄剧ず鍑烘湁鍏虫棩蹇楁枃浠躲佹寚瀹氭暟鎹簱銆佽〃銆佺储寮曘佽繘绋嬪拰璁稿彲鏉冮檺琛ㄧ殑瀹濊吹淇℃伅銆傝璁块棶MySQL.com/doc/S/H/SHOW.html">http://www.MySQL.com/doc/S/H/SHOW.html浜嗚В鏇村淇℃伅銆

銆銆 EXPLAIN鑳藉鍒嗘瀽SELECT鍛戒护鐨勫鐞嗚繃绋嬨傝繖涓嶄粎瀵逛簬鍐冲畾鏄惁瑕佷负琛ㄥ姞涓婄储寮曞緢鏈夌敤锛岃屼笖瀵逛簬浜嗚ВMySQL澶勭悊澶嶆潅杩炴帴鐨勮繃绋嬩篃寰堟湁鐢ㄣ

銆銆 涓嬮潰杩欎釜渚嬪瓙鏄剧ず浜嗗浣曠敤EXPLAIN鎻愪緵鐨勪俊鎭愭鍦颁紭鍖栬繛鎺ユ煡璇€傦紙鏈緥鏉ヨ嚜MySQL鏂囨。锛岃http://www.mysql.com/doc/E/X/EXPLAIN.html銆傚師鏂囧啓鍒拌繖閲屼技涔庢湁鐐规溅鑽変簡浜嬶紝鐗瑰姞涓婃渚嬨傦級

銆銆 鍋囧畾鐢‥XPLAIN鍒嗘瀽鐨凷ELECT鍛戒护濡備笅鎵绀猴細

EXPLAIN SELECT tt.TicketNumber, tt.TimeIn,

tt.ProjectReference, tt.EstimatedShipDate,

tt.ActualShipDate, tt.ClientID,

tt.ServiceCodes, tt.RepetitiveID,

tt.CurrentProcess, tt.CurrentDPPerson,

tt.RecordVolume, tt.DPPrinted, et.COUNTRY,

et_1.COUNTRY, do.CUSTNAME

FROM tt, et, et AS et_1, do

WHERE tt.SubmitTime IS NULL

AND tt.ActualPC = et.EMPLOYID

AND tt.AssignedPC = et_1.EMPLOYID

AND tt.ClientID = do.CUSTNMBR;

銆銆 SELECT鍛戒护涓嚭鐜扮殑琛ㄥ畾涔夊涓嬶細

銆銆 鈥昏〃瀹氫箟

琛 鍒 鍒楃被鍨

tt ActualPC CHAR(10)

tt AssignedPC CHAR(10)

tt ClientID CHAR(10)

et EMPLOYID CHAR(15)

do CUSTNMBR CHAR(15)

鈥荤储寮

琛 绱㈠紩

tt ActualPC

tt AssignedPC

tt ClientID

et EMPLOYID (涓婚敭)

do CUSTNMBR (涓婚敭)

銆銆 鈥籺t.ActualPC鍊煎垎甯冧笉鍧囧寑

銆銆 鍦ㄨ繘琛屼换浣曚紭鍖栦箣鍓嶏紝EXPLAIN瀵筍ELECT鎵ц鍒嗘瀽鐨勭粨鏋滃涓嬶細

table type possible_keys key key_len ref rows Extra

et ALL PRIMARY NULL NULL NULL 74

do ALL PRIMARY NULL NULL NULL 2135

et_1 ALL PRIMARY NULL NULL NULL 74

tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872

range checked for each record (key map: 35)

銆銆 姣忎竴涓〃鐨則ype閮芥槸ALL锛屽畠琛ㄦ槑MySQL涓烘瘡涓涓〃杩涜浜嗗畬鍏ㄨ繛鎺ワ紒杩欎釜鎿嶄綔鏄浉褰撹楁椂鐨勶紝鍥犱负寰呭鐞嗚鐨勬暟閲忚揪鍒版瘡涓涓〃琛屾暟鐨勪箻绉紒鍗筹紝杩欓噷鐨勬诲鐞嗚鏁颁负74 * 2135 * 74 * 3872 = 45,268,558,720銆

銆銆 杩欓噷鐨勯棶棰樹箣涓鍦ㄤ簬锛屽鏋滄暟鎹簱鍒楃殑澹版槑涓嶅悓锛孧ySQL锛堣繕锛変笉鑳芥湁鏁堝湴杩愮敤鍒楃殑绱㈠紩銆傚湪杩欎釜闂涓婏紝VARCHAR鍜孋HAR鏄竴鏍风殑锛岄櫎闈炲畠浠0鏄庣殑闀垮害涓嶅悓銆傜敱浜巘t.ActualPC澹版槑涓篊HAR(10)锛岃宔t.EMPLOYID澹版槑涓篊HAR(15)锛屽洜姝よ繖閲屽瓨鍦ㄥ垪闀垮害涓嶅尮閰嶉棶棰樸

銆銆 涓轰簡瑙e喅杩欎袱涓垪鐨勯暱搴︿笉鍖归厤闂锛岀敤ALTER TABLE鍛戒护鎶夾ctualPC鍒椾粠10涓瓧绗︽墿灞曞埌15瀛楃锛屽涓嬫墍绀猴細

mysql > ALTER TABLE tt MODIFY ActualPC VARCHAR(15);

鐜板湪tt.ActualPC鍜宔t.EMPLOYID閮芥槸VARCHAR(15)浜嗭紝鎵цEXPLAIN杩涜鍒嗘瀽寰楀埌鐨勭粨鏋滃涓嬫墍绀猴細

table type possible_keys key key_len ref rows Extra

tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872 where used

do ALL PRIMARY NULL NULL NULL 2135

range checked for each record (key map: 1)

et_1 ALL PRIMARY NULL NULL NULL 74

range checked for each record (key map: 1)

et eq_ref PRIMARY PRIMARY 15 tt.ActualPC 1

銆銆 杩欒繕绠椾笉涓婂畬缇庯紝浣嗗凡缁忓ソ澶氫簡锛堣鏁扮殑涔樼Н鐜板湪灏戜簡涓涓郴鏁74锛夈傜幇鍦ㄨ繖涓猄QL鍛戒护鎵ц澶ф闇瑕佹暟绉掗挓鏃堕棿銆

銆銆 涓轰簡閬垮厤tt.AssignedPC = et_1.EMPLOYID浠ュ強tt.ClientID = do.CUSTNMBR姣旇緝涓殑鍒楅暱搴︿笉鍖归厤锛屾垜浠彲浠ヨ繘琛屽涓嬫敼鍔細

鎵撳嵃 | 鏀惰棌姝ら〉 |  鎺ㄨ崘缁欏ソ鍙 | 涓炬姤
涓婁竴绡 涓嬩竴绡
 

璇勫垎锛0

鍙戣〃璇勮
鏌ョ湅鍏ㄩ儴鍥炲銆愬凡鏈0浣嶇綉鍙嬪彂琛ㄤ簡鐪嬫硶銆