锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩中文字幕精品,青青草视频一区,久久久久久久久久久久久9999http://www.aygfsteel.com/persister/category/46174.htmlzh-cnWed, 13 Oct 2010 21:33:30 GMTWed, 13 Oct 2010 21:33:30 GMT60MySQL瀵煎叆瀵煎叆鍛戒護(hù)鎬葷粨http://www.aygfsteel.com/persister/archive/2010/07/14/326107.htmlpersisterpersisterWed, 14 Jul 2010 09:52:00 GMThttp://www.aygfsteel.com/persister/archive/2010/07/14/326107.htmlhttp://www.aygfsteel.com/persister/comments/326107.htmlhttp://www.aygfsteel.com/persister/archive/2010/07/14/326107.html#Feedback0http://www.aygfsteel.com/persister/comments/commentRss/326107.htmlhttp://www.aygfsteel.com/persister/services/trackbacks/326107.html
鍩烘湰鍒嗕負(fù)涓ょ褰㈠紡錛屼竴縐嶆槸sql褰㈠紡鐨勬暟鎹鍏ュ鍑?mysqldump,mysql,source)錛屽彟涓€縐嶆槸鑷畾涔夋暟鎹殑瀵煎叆瀵煎嚭(load data infile, into outfile)銆?br />
鑷畾涔夋暟鎹牸寮忕殑瀵煎叆瀵煎嚭鏈変竴涓ソ澶勫氨鏄暟鎹彲浠ユ槸csv鏍煎紡鐨勶紝鑰屼笖鐢ㄧ殑闈炲父澶氥€傛瘮濡傚ぇ鍨嬬殑鏁版嵁錛屽鏋滃線鏌ヨ鍒版暟鎹劧鍚庡啓鍒癳xcel閲岄潰錛屾晥鐜囪偗瀹氭槸涓€涓棶棰樸€備絾鏄敤mysql鐨勮嚜甯︾殑鍛戒護(hù)錛岄偅涔堝氨鍙互璁﹎ysql鑷繁鐢熸垚csv鏂囦歡錛岃繖鏍烽€熷害浼?xì)蹇笉灏戙€傚鍏ヤ篃鏄竴鏍鳳紝灝辨槸鏁版嵁鏂囦歡鍙互浼犲埌鏈嶅姟鍣ㄤ笂錛岀劧鍚庝嬌鐢╩ysql鐨勫懡浠ゅ鍏ュ埌鏁版嵁搴撲腑錛屾瘮璇籧sv鏍煎紡鐨勬枃浠剁劧鍚庢彃鍏ュ埌鏁版嵁搴撲腑鏁堢巼浼?xì)鎻愰珮涓崬畱銆?br />

涓嬮潰闄勪笂榪欎簺鍛戒護(hù)鐨勫叿浣撴弿榪幫細(xì)

mysql涓璍oad Data InFile鏄敤浜庢壒閲忓悜鏁版嵁琛ㄤ腑瀵煎叆璁板綍銆?br /> 棣栧厛鍒涘緩涓€涓〃
Use Test;
Create Table TableTest(
`ID` mediumint(8) default '0',
`Name` varchar(100) default ''
) TYPE=MyISAM;

鍚戞暟鎹〃瀵煎叆鏁版嵁
Load Data InFile 'D:/Data.txt' Into Table `TableTest`

甯哥敤濡備笅錛?br /> Load Data InFile 'D:/Data.txt' Into Table `TableTest` Lines Terminated By '"r"n';
榪欎釜璇彞錛屽瓧孌甸粯璁ょ敤鍒惰〃絎﹂殧寮€錛屾瘡鏉¤褰曠敤鎹㈣絎﹂殧寮€錛屽湪Windows涓嬫崲琛岀涓?#8220;"r"n”
D:/Data.txt 鏂囦歡鍐呭濡備笅闈袱琛岋細(xì)
1 A
2 B
“1”鍜?#8220;A”涔嬮棿鏈変竴涓埗琛ㄧ
榪欐牱灝卞榪涗袱鏉¤褰曚簡(jiǎn)銆?br />
鑷畾涔夎娉?br /> Load Data InFile 'D:/Data.txt' Into Table `TableTest` Fields Terminated By ',' Enclosed By '"'

Escaped By '"' Lines Terminated By '"r"n';
Fields Terminated By ',' Enclosed By '"' Escaped By '"'
琛ㄧず姣忎釜瀛楁鐢ㄩ€楀彿鍒嗗紑錛屽唴瀹瑰寘鍚湪鍙屽紩鍙峰唴
Lines Terminated By '"r"n';
琛ㄧず姣忔潯鏁版嵁鐢ㄦ崲琛岀鍒嗗紑


瀵煎叆鏁版嵁搴?br /> 甯哥敤source 鍛戒護(hù)
榪涘叆mysql鏁版嵁搴撴帶鍒跺彴錛?br /> 濡俶ysql -u root -p

mysql>use 鏁版嵁搴?br />
鐒跺悗浣跨敤source鍛戒護(hù)錛屽悗闈㈠弬鏁頒負(fù)鑴氭湰鏂囦歡錛堝榪欓噷鐢ㄥ埌鐨?sql錛?br /> mysql>source d:"wcnc_db.sql

涔熷彲浠ヤ嬌鐢╩ysql鍛戒護(hù)錛堝湪bin鐩綍涓嬶級(jí)
.../bin/mysql db1 > xx.sql;


鍜?Load Data InFile 鐩稿弽鐨勬槸
Select * From `TableTest` Into OutFile 'D:/Data_OutFile.txt';
鎶婅〃鐨勬暟鎹鍑?br />

Using command line tools to export data from a MySQL database into a CSV file is quite easy. Here's

how:

mysql -uexampleuser -pletmein exampledb -B -e "select * from "`person"`;" | sed 's/

"t/","/g;s/^/"/;s/$/"/;s/"n//g' > filename.csv

Here is some sample output of the above:

"id","username","group","password"
"1","tux","admin","5f4dcc3b5aa765d61d8327deb882cf99"
"2","tlugian","admin","5f4dcc3b5aa765d61d8327deb882cf99"
"3","saiyuki","admin","5f4dcc3b5aa765d61d8327deb882cf99"
"4","fred","staff","5f4dcc3b5aa765d61d8327deb882cf99"
"5","barney","staff","5f4dcc3b5aa765d61d8327deb882cf99"
"6","wilma","admin","5f4dcc3b5aa765d61d8327deb882cf99"

And now for the explanation:

Starting with the MySQL command. I wont explain the -u and -p options they are straight forward (if

in doubt man mysql). The -B option will delimit the data using tabs and each row will appear on a

new line. The -e option denotes the command to run once you have logged into the database. In this

case we are using a simple SELECT statement.

Onto sed. The command used here contains three seperate sed scripts:

s/"t/","/g;s/^/"/        <--- this will search and replace all occurences of 'tabs' and replace them

with a ",".

;s/$/"/;    <--- This will place a " at the start of the line.

s/"n//g    <---- This will place a " at the end of the line.

After running the result set through sed we redirect the output to a file with a .csv extension.



mysqldump鍛戒護(hù)鐨勮緭鍏ユ槸鍦╞in鐩綍涓?
1.瀵煎嚭鏁翠釜鏁版嵁搴?br />
mysqldump -u 鐢ㄦ埛鍚?-p 鏁版嵁搴撳悕 > 瀵煎嚭鐨勬枃浠跺悕

mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2.瀵煎嚭涓€涓〃

mysqldump -u 鐢ㄦ埛鍚?-p 鏁版嵁搴撳悕 琛ㄥ悕> 瀵煎嚭鏂囦歡鐨勮礬寰勫拰鍚嶇О

mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql






persister 2010-07-14 17:52 鍙戣〃璇勮
]]>
MySQL Show processlist鍛戒護(hù)鍔熻兘http://www.aygfsteel.com/persister/archive/2010/07/13/325975.htmlpersisterpersisterTue, 13 Jul 2010 08:15:00 GMThttp://www.aygfsteel.com/persister/archive/2010/07/13/325975.htmlhttp://www.aygfsteel.com/persister/comments/325975.htmlhttp://www.aygfsteel.com/persister/archive/2010/07/13/325975.html#Feedback0http://www.aygfsteel.com/persister/comments/commentRss/325975.htmlhttp://www.aygfsteel.com/persister/services/trackbacks/325975.html
show processlist

mysql> show processlist;
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
| Id | User  | Host            | db   | Command | Time| State     | Info                                                                                          
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
|207|root  |192.168.0.20:51718 |mytest | Sleep    | 5    |         | NULL                                                                                                
|208|root  |192.168.0.20:51719 |mytest | Sleep    | 5    |         | NULL       
|220|root  |192.168.0.20:51731 |mytest |Query    | 84   | Locked  |
select bookname,culture,value,type  from book where id=001
鍏堢畝鍗曡涓€涓嬪悇鍒楃殑鍚箟鍜岀敤閫旓紝絎竴鍒楋紝id錛屼笉鐢ㄨ浜?jiǎn)鍚уQ屼竴涓爣璇嗭紝浣犺kill涓€涓鍙ョ殑鏃跺€欏緢鏈夌敤錛屾瘮濡傛垜浠繘琛屼簡(jiǎn)涓€涓潪甯歌€楁椂鐨勬煡璇紝鎯沖仠姝㈢殑鏃跺€欙紝灝卞彧鏈夐噰鐢ㄨ繖涓懡浠や簡(jiǎn)銆?br />
user鍒楋紝鏄劇ず褰撳墠鐢ㄦ埛錛屽鏋滀笉鏄痳oot錛岃繖涓懡浠ゅ氨鍙樉紺轟綘鏉冮檺鑼冨洿鍐呯殑sql璇彞銆?br />
host鍒楋紝鏄劇ず榪欎釜璇彞鏄粠鍝釜ip鐨勫摢涓鍙d笂鍙戝嚭鐨勶紝鍙互鐢ㄦ潵榪借釜鍑洪棶棰樿鍙ョ殑鐢ㄦ埛銆?br />
db鍒楋紝鏄劇ず榪欎釜榪涚▼鐩墠榪炴帴鐨勬槸鍝釜鏁版嵁搴撱€?br />
command鍒楋紝鏄劇ず褰撳墠榪炴帴鐨勬墽琛岀殑鍛戒護(hù)錛屼竴鑸氨鏄紤鐪狅紙sleep錛夛紝鏌ヨ 錛坬uery錛夛紝榪炴帴錛坈onnect錛夈€倀ime鍒楋紝姝よ繖涓姸鎬佹寔緇殑鏃墮棿錛屽崟浣嶆槸縐掋€?br />
state鍒楋紝鏄劇ず浣跨敤褰撳墠榪炴帴鐨剆ql璇彞鐨勭姸鎬侊紝寰堥噸瑕佺殑鍒楋紝鍚庣畫浼?xì)鏈夋墍鏈夌殑鐘舵€佺殑鎻忚堪錛岃娉ㄦ剰錛宻tate鍙槸璇彞鎵ц涓殑鏌愪竴涓姸鎬侊紝涓€涓猻ql璇彞錛屽凡鏌ヨ涓轟緥錛屽彲鑳介渶瑕佺粡榪嘽opying to tmp table錛孲orting result錛孲ending data絳夌姸鎬佹墠鍙互瀹屾垚錛宨nfo鍒楋紝鏄劇ず榪欎釜sql璇彞
銆?br />
娉ㄦ剰鏉冮檺錛岄€氬父鍙兘鐪嬪埌鑷繁鐨勬煡璇rocess錛屾槸鐪嬩笉鍒板叾浠栦漢鐨刾rocess鐨勩€?br />




persister 2010-07-13 16:15 鍙戣〃璇勮
]]>
MySQL蹇樿root瀵嗙爜鎬庝箞鍔烇紵http://www.aygfsteel.com/persister/archive/2010/03/24/316461.htmlpersisterpersisterWed, 24 Mar 2010 09:26:00 GMThttp://www.aygfsteel.com/persister/archive/2010/03/24/316461.htmlhttp://www.aygfsteel.com/persister/comments/316461.htmlhttp://www.aygfsteel.com/persister/archive/2010/03/24/316461.html#Feedback0http://www.aygfsteel.com/persister/comments/commentRss/316461.htmlhttp://www.aygfsteel.com/persister/services/trackbacks/316461.html 鍚姩 MySQL錛歮ysqld --skip-grant-tables錛?br /> 灝卞彲浠ヤ笉闇€瑕佸瘑鐮佸氨榪涘叆 MySQL 浜?jiǎn)銆?
鐒跺悗灝辨槸
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
閲嶆柊鏉€ MySQL 錛岀敤姝e父鏂規(guī)硶鍚姩 MySQL 銆?br />
榪欓噷鏈変竴涓湴鏂硅娉ㄦ剰錛屽氨鏄湁鍙兘錛寀ser琛ㄤ腑鏍規(guī)湰灝辨病鏈塺oot榪欎釜鐢ㄦ埛銆?br />

persister 2010-03-24 17:26 鍙戣〃璇勮
]]>
MYSQL Master-Slave閰嶇疆鍜屽疄鐜板師鐞?/title><link>http://www.aygfsteel.com/persister/archive/2009/09/09/294507.html</link><dc:creator>persister</dc:creator><author>persister</author><pubDate>Wed, 09 Sep 2009 12:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/persister/archive/2009/09/09/294507.html</guid><wfw:comment>http://www.aygfsteel.com/persister/comments/294507.html</wfw:comment><comments>http://www.aygfsteel.com/persister/archive/2009/09/09/294507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/persister/comments/commentRss/294507.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/persister/services/trackbacks/294507.html</trackback:ping><description><![CDATA[The target uses for replication in MySQL include: <br /> <ul> <li> <p> Scale-out solutions - spreading the load among multiple slaves to improve performance. In this environment, all writes and updates must take place on the master server. Reads, however, may take place on one or more slaves. This model can improve the performance of writes (since the master is dedicated to updates), while dramatically increasing read speed across an increasing number of slaves. </p> </li> <li> <p> Data security - because data is replicated to the slave, and the slave can pause the replication process, it is possible to run backup services on the slave without corrupting the corresponding master data. </p> </li> <li> <p> Analytics - live data can be created on the master, while the analysis of the information can take place on the slave without affecting the performance of the master. </p> </li> <li> <p> Long-distance data distribution - if a branch office would like to work with a copy of your main data, you can use replication to create a local copy of the data for their use without requiring permanent access to the master銆?br /> </p> </li> </ul> 閰嶇疆鍙傝€僲ysql<a >瀹樻柟鏂囨。</a>錛屾寜鐓ч厤緗枃妗o紝鎴戝叿浣撴祴璇曚簡(jiǎn)涓€涓嬶紝娌℃湁闂錛屽ぇ姒傜殑閰嶇疆姝ラ濡備笅錛?br /> <br /> <br /> <strong><br /> 1銆丮aster绔殑my.cnf閰嶇疆</strong><br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 255);">log</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">bin<br /> server</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">id</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(128, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"><br /> sql</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">bin</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">update</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">same<br /> binlog</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 255);">do</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">db</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">vbb</span></div> <br /> <strong>2銆丼lave绔殑my.cnf閰嶇疆</strong><br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">master</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">host</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">192.168</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">22.25</span><span style="color: rgb(0, 0, 0);"><br /> master</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">user</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">salve<br /> master</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">password</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">123456</span><span style="color: rgb(0, 0, 0);"><br /> master</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">port</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">3306</span><span style="color: rgb(0, 0, 0);"><br /> server</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">id</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);"><br /> master</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">connect</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">retry</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">60</span><span style="color: rgb(0, 0, 0);"> 棰勮閲嶈瘯闂撮殧60縐?/span></div> <br /> <strong>3銆佸鍒?/strong><br /> <div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: rgb(0, 0, 0);">CHANGE MASTER to </span><span style="color: rgb(0, 0, 0);">MASTER_LOG_FILE</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0); font-weight: bold;">'</span><span style="color: rgb(0, 0, 0); font-weight: bold;">mysql-bin.000006</span><span style="color: rgb(0, 0, 0); font-weight: bold;">'</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);"> MASTER_LOG_POS</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(128, 0, 0);">98</span></div> <br /> 鍏蜂綋閰嶇疆鏈変竴浜涚粏鑺傦紝鐪嬪畼鏂規(guī)枃妗e嵆鍙€?br /> <br /> 榪欓噷鍏蜂綋璇翠竴涓嬪叾鍘熺悊錛?br /> <br /> <p><font face="Times New Roman"><strong>1銆佸鍒惰繘紼?/strong><br /> Mysql鐨勫鍒訛紙Replication錛夋槸涓€涓紓姝ョ殑澶嶅埗錛屼粠涓€涓狹ysql instace錛堢О涔嬩負(fù)Master錛夊鍒跺埌鍙︿竴涓狹ysql instance錛堢О涔婼lave錛夈€傚疄鐜版暣涓鍒舵搷浣滀富瑕佺敱涓変釜榪涚▼瀹屾垚鐨勶紝鍏朵腑涓や釜榪涚▼鍦⊿lave錛圫ql榪涚▼鍜孖O榪涚▼錛夛紝鍙﹀涓€涓繘紼嬪湪 Master錛圛O榪涚▼錛変笂銆?br /> 瑕佸疄鏂藉鍒訛紝棣栧厛蹇呴』鎵撳紑Master绔殑binary log錛坆in-log錛夊姛鑳斤紝鍚﹀垯鏃犳硶瀹炵幇銆傚洜涓烘暣涓鍒惰繃紼嬪疄闄呬笂灝辨槸Slave浠嶮aster绔幏鍙栬鏃ュ織鐒跺悗鍐嶅湪鑷繁韜笂瀹屽叏欏哄簭鐨勬墽琛屾棩蹇椾腑鎵€璁板綍鐨勫悇縐嶆搷浣溿€?br /> 澶嶅埗鐨勫熀鏈繃紼嬪涓嬶細(xì)<br /> 1)銆丼lave涓婇潰鐨処O榪涚▼榪炴帴涓奙aster錛屽茍璇鋒眰浠庢寚瀹氭棩蹇楁枃浠剁殑鎸囧畾浣嶇疆錛堟垨鑰呬粠鏈€寮€濮嬬殑鏃ュ織錛変箣鍚庣殑鏃ュ織鍐呭錛?br /> </font><font face="Times New Roman"><br /> 2)銆丮aster鎺ユ敹鍒版潵鑷猄lave鐨処O榪涚▼鐨勮姹傚悗錛岄€氳繃璐熻矗澶嶅埗鐨処O榪涚▼鏍規(guī)嵁璇鋒眰淇℃伅璇誨彇鍒跺畾鏃ュ織鎸囧畾浣嶇疆涔嬪悗鐨勬棩蹇椾俊鎭紝榪斿洖緇橲lave 鐨処O榪涚▼銆傝繑鍥炰俊鎭腑闄や簡(jiǎn)鏃ュ織鎵€鍖呭惈鐨勪俊鎭箣澶栵紝榪樺寘鎷湰嬈¤繑鍥炵殑淇℃伅宸茬粡鍒癕aster绔殑bin-log鏂囦歡鐨勫悕縐頒互鍙?qiáng)bin-log鐨勪綅緗紱<br /> <br /> 3)銆丼lave鐨処O榪涚▼鎺ユ敹鍒頒俊鎭悗錛屽皢鎺ユ敹鍒扮殑鏃ュ織鍐呭渚濇娣誨姞鍒癝lave绔殑relay-log鏂囦歡鐨勬渶鏈錛屽茍灝嗚鍙栧埌鐨凪aster绔殑 bin-log鐨勬枃浠跺悕鍜屼綅緗褰曞埌master-info鏂囦歡涓紝浠ヤ究鍦ㄤ笅涓€嬈¤鍙栫殑鏃跺€欒兘澶熸竻妤氱殑鍛婅瘔Master“鎴戦渶瑕佷粠鏌愪釜bin-log鐨勫摢 涓綅緗紑濮嬪線鍚庣殑鏃ュ織鍐呭錛岃鍙戠粰鎴?#8221;錛?br /> <br /> 4)銆丼lave鐨凷ql榪涚▼媯€(gè)嫻嬪埌relay-log涓柊澧炲姞浜?jiǎn)鍐呭鍚庡Q屼細(xì)椹笂瑙f瀽relay-log鐨勫唴瀹規(guī)垚涓哄湪Master绔湡瀹炴墽琛屾椂鍊欑殑閭d簺鍙墽琛岀殑鍐呭錛屽茍鍦ㄨ嚜韜墽琛屻€?br /> 瀹為檯涓婂湪鑰佺増鏈殑Mysql鐨勫鍒跺疄鐜板湪Slave绔茍涓嶆槸涓や釜榪涚▼瀹屾垚鐨勶紝鑰屾槸鐢變竴涓繘紼嬪畬鎴愩€備絾鏄悗鏉ュ彂鐜拌繖鏍峰仛瀛樺湪杈冨ぇ鐨勯闄╁拰鎬ц兘闂錛屼富瑕佸涓嬶細(xì)<br /> 棣栧厛錛屼竴涓繘紼嬪氨浣垮鍒禸in-log鏃ュ織鍜岃В鏋愭棩蹇楀茍鍦ㄨ嚜韜墽琛岀殑榪囩▼鎴愪負(fù)涓€涓覆琛岀殑榪囩▼錛屾€ц兘鍙楀埌浜?jiǎn)涓€瀹氱殑闄愬埗錛屽紓姝ュ鍒剁殑寤惰繜涔熶細(xì)姣旇緝闀褲€?br /> 鍙﹀錛孲lave绔粠Master绔幏鍙朾in-log榪囨潵涔嬪悗錛岄渶瑕佹帴鐫€瑙f瀽鏃ュ織鍐呭錛岀劧鍚庡湪鑷韓鎵ц銆傚湪榪欎釜榪囩▼涓紝Master绔彲鑳藉張浜х敓浜?jiǎn)澶ч? 鍙樺寲騫跺0縐頒簡(jiǎn)澶ч噺鐨勬棩蹇椼€傚鏋滃湪榪欎釜闃舵Master绔殑瀛樺偍鍑虹幇浜?jiǎn)鏃犳硶淇鐨勯敊璇Q岄偅涔堝湪榪欎釜闃舵鎵€浜х敓鐨勬墍鏈夊彉鏇撮兘灝嗘案榪滄棤娉曟壘鍥炪€傚鏋滃湪Slave 绔殑鍘嬪姏姣旇緝澶х殑鏃跺€欙紝榪欎釜榪囩▼鐨勬椂闂村彲鑳戒細(xì)姣旇緝闀褲€?br /> 鎵€浠ワ紝鍚庨潰鐗堟湰鐨凪ysql涓轟簡(jiǎn)瑙e喅榪欎釜椋庨櫓騫舵彁楂樺鍒剁殑鎬ц兘錛屽皢Slave绔殑澶嶅埗鏀逛負(fù)涓や釜榪涚▼鏉ュ畬鎴愩€傛彁鍑?guó)櫩欎釜鏀箻q涙柟妗堢殑浜烘槸Yahoo!鐨勪竴浣嶅伐紼? 甯?#8220;Jeremy Zawodny”銆傝繖鏍鋒棦瑙e喅浜?jiǎn)鎬ц兘闂錛屽張緙╃煭浜?jiǎn)寮傛鐨勫欢鏃舵棄櫁村Q屽悓鏃朵篃鍑忓皯浜?jiǎn)鍙兘瀛樺湪鐨勬暟鎹涪澶遍噺銆傚綋鐒?dòng)灱屽嵆鋴涉槸鎹㈡垚浜?jiǎn)鐜板湪榪欐牱涓や釜綰跨▼澶勭悊浠ュ悗錛屽悓 鏍蜂篃榪樻槸瀛樺湪slave鏁版嵁寤舵椂浠ュ強(qiáng)鏁版嵁涓㈠け鐨勫彲鑳芥€х殑錛屾瘯绔熻繖涓鍒舵槸寮傛鐨勩€傚彧瑕佹暟鎹殑鏇存敼涓嶆槸鍦ㄤ竴涓簨鐗╀腑錛岃繖浜涢棶棰橀兘鏄細(xì)瀛樺湪鐨勩€傚鏋滆瀹屽叏閬垮厤 榪欎簺闂錛屽氨鍙兘鐢╩ysql鐨刢luster鏉ヨВ鍐充簡(jiǎn)銆備笉榪噈ysql鐨刢luster鏄唴瀛樻暟鎹簱鐨勮В鍐蟲柟妗堬紝闇€瑕佸皢鎵€鏈夋暟鎹兘load鍒板唴瀛樹腑錛岃繖 鏍峰氨瀵瑰唴瀛樼殑瑕佹眰灝遍潪甯稿ぇ浜?jiǎn)锛屽浜庝竴鑸殑搴旂敤鏉ヨ鍙疄鏂芥€т笉鏄お澶с€?br /> </font></p> <p><font face="Times New Roman"><strong>2銆佸鍒跺疄鐜扮駭鍒?/strong><br /> Mysql鐨勫鍒跺彲浠ユ槸鍩轟簬涓€鏉¤鍙ワ紙Statement level錛夛紝涔熷彲浠ユ槸鍩轟簬涓€鏉¤褰曪紙Row level錛夛紝鍙互鍦∕ysql鐨勯厤緗弬鏁頒腑璁懼畾榪欎釜澶嶅埗綰у埆錛屼笉鍚屽鍒剁駭鍒殑璁劇疆浼?xì)濯?jiǎng)鍝嶅埌Master绔殑bin-log璁板綍鎴愪笉鍚岀殑褰㈠紡銆?br /> Row Level錛氭棩蹇椾腑浼?xì)璁板綍鎴愭瘡涓€琛屾暟鎹淇敼鐨勫艦寮忥紝鐒跺悗鍦╯lave绔啀瀵圭浉鍚岀殑鏁版嵁榪涜淇敼銆?br /> 浼樼偣錛氬湪row level妯″紡涓嬶紝bin-log涓彲浠ヤ笉璁板綍鎵ц鐨剆ql璇彞鐨勪笂涓嬫枃鐩稿叧鐨勪俊鎭紝浠呬粎鍙渶瑕佽褰曢偅涓€鏉¤褰曡淇敼浜?jiǎn)锛屼慨鏀规垚浠€涔堟牱浜?jiǎn)銆傛墍浠ow level鐨勬棩蹇楀唴瀹逛細(xì)闈炲父娓呮鐨勮褰曚笅姣忎竴琛屾暟鎹慨鏀圭殑緇嗚妭錛岄潪甯稿鏄撶悊瑙c€傝€屼笖涓嶄細(xì)鍑虹幇鏌愪簺鐗瑰畾鎯呭喌涓嬬殑瀛樺偍榪囩▼錛屾垨function錛屼互鍙? trigger鐨勮皟鐢ㄥ拰瑙﹀彂鏃犳硶琚紜鍒剁殑闂銆?br /> 緙虹偣錛歳ow level涓嬶紝鎵€鏈夌殑鎵ц鐨勮鍙ュ綋璁板綍鍒版棩蹇椾腑鐨勬椂鍊欙紝閮藉皢浠ユ瘡琛岃褰曠殑淇敼鏉ヨ褰曪紝榪欐牱鍙兘浼?xì)漶旂敓澶ч噺鐨勬棩蹇楀唴瀹瑰Q屾瘮濡傛湁榪欐牱涓€鏉pdate璇? 鍙ワ細(xì)update product set owner_member_id = ‘b’ where owner_member_id = ‘a’錛屾墽琛屼箣鍚庯紝鏃ュ織涓褰曠殑涓嶆槸榪欐潯update璇彞鎵€瀵瑰簲棰濅簨浠訛紙mysql浠ヤ簨浠剁殑褰㈠紡鏉ヨ褰昩in-log鏃ュ織錛夛紝鑰屾槸榪欐潯璇彞鎵€鏇存柊鐨勬瘡涓€鏉? 璁板綍鐨勫彉鍖栨儏鍐碉紝榪欐牱灝辮褰曟垚寰堝鏉¤褰曡鏇存柊鐨勫緢澶氫釜浜嬩歡銆傝嚜鐒?dòng)灱宐in-log鏃ュ織鐨勯噺灝變細(xì)寰堝ぇ銆傚挨鍏舵槸褰撴墽琛宎lter table涔嬬被鐨勮鍙ョ殑鏃跺€欙紝浜х敓鐨勬棩蹇楅噺鏄儕浜虹殑銆傚洜涓篗ysql瀵逛簬alter table涔嬬被鐨勮〃緇撴瀯鍙樻洿璇彞鐨勫鐞嗘柟寮忔槸鏁翠釜琛ㄧ殑姣忎竴鏉¤褰曢兘闇€瑕佸彉鍔紝瀹為檯涓婂氨鏄噸寤轟簡(jiǎn)鏁翠釜琛ㄣ€傞偅涔堣琛ㄧ殑姣忎竴鏉¤褰曢兘浼?xì)琚褰曞埌鏃ュ織涓€?br /> Statement Level:姣忎竴鏉′細(xì)淇敼鏁版嵁鐨剆ql閮戒細(xì)璁板綍鍒?master鐨刡in-log涓€俿lave鍦ㄥ鍒剁殑鏃跺€檚ql榪涚▼浼?xì)瑙f瀽鎴愬拰鍘熸潵master绔墽琛岃繃鐨勭浉鍚岀殑sql鏉ュ啀嬈℃墽琛屻€?br /> 浼樼偣錛歴tatement level涓嬬殑浼樼偣棣栧厛灝辨槸瑙e喅浜?jiǎn)row level涓嬬殑緙虹偣錛屼笉闇€瑕佽褰曟瘡涓€琛屾暟鎹殑鍙樺寲錛屽噺灝慴in-log鏃ュ織閲忥紝鑺傜害IO錛屾彁楂樻€ц兘銆傚洜涓轟粬鍙渶瑕佽褰曞湪Master涓婃墍鎵ц鐨勮鍙ョ殑緇嗚妭錛屼互鍙?qiáng)鎵ц璇彞鏃跺€欑殑涓婁笅鏂囩殑淇℃伅銆?br /> 緙虹偣錛氱敱浜庝粬鏄褰曠殑鎵ц璇彞錛屾墍浠ワ紝涓轟簡(jiǎn)璁╄繖浜涜鍙ュ湪slave绔篃鑳芥紜墽琛岋紝閭d箞浠栬繕蹇呴』璁板綍姣忔潯璇彞鍦ㄦ墽琛岀殑鏃跺€欑殑涓€浜涚浉鍏充俊鎭紝涔熷氨鏄笂涓嬫枃淇? 鎭紝浠ヤ繚璇佹墍鏈夎鍙ュ湪slave绔澂鎵ц鐨勬椂鍊欒兘澶熷緱鍒板拰鍦╩aster绔墽琛屾椂鍊欑浉鍚岀殑緇撴灉銆傚彟澶栧氨鏄紝鐢變簬Mysql鐜板湪鍙戝睍姣旇緝蹇紝寰堝鐨勬柊鍔熻兘涓? 鏂殑鍔犲叆錛屼嬌mysql寰楀鍒墮亣鍒頒簡(jiǎn)涓嶅皬鐨勬寫鎴橈紝鑷劧澶嶅埗鐨勬椂鍊欐秹鍙?qiáng)鍒碍憡澶嶆潅鐨勫唴瀹瑰Q宐ug涔熷氨瓚婂鏄撳嚭鐜般€傚湪statement level涓嬶紝鐩墠宸茬粡鍙戠幇鐨勫氨鏈変笉灝戞儏鍐典細(xì)閫犳垚mysql鐨勫鍒跺嚭鐜伴棶棰橈紝涓昏鏄慨鏀規(guī)暟鎹殑鏃跺€欎嬌鐢ㄤ簡(jiǎn)鏌愪簺鐗瑰畾鐨勫嚱鏁版垨鑰呭姛鑳界殑鏃跺€欎細(xì)鍑虹幇錛屾瘮 濡傦細(xì)sleep()鍑芥暟鍦ㄦ湁浜涚増鏈腑灝變笉鑳界湡紜鍒訛紝鍦ㄥ瓨鍌ㄨ繃紼嬩腑浣跨敤浜?jiǎn)last_insert_id()鍑芥暟錛屽彲鑳戒細(xì)浣縮lave鍜宮aster涓婂緱鍒? 涓嶄竴鑷寸殑id絳夌瓑銆傜敱浜巖ow level鏄熀浜庢瘡涓€琛屾潵璁板綍鐨勫彉鍖栵紝鎵€浠ヤ笉浼?xì)鍑虹幇绫讳技鐨勯棶棰樸€?/font></p> <p>With statement-based replication, you may encounter issues with replicating stored routines or triggers. You can avoid these issues by using row-based replication instead.</p> <p><font face="Times New Roman"> 浠庡畼鏂規(guī)枃妗d腑鐪嬪埌錛屼箣鍓嶇殑Mysql涓€鐩撮兘鍙湁鍩轟簬statement鐨勫鍒舵ā寮忥紝鐩村埌5.1.5鐗堟湰鐨凪ysql鎵嶅紑濮嬫敮鎸乺ow level鐨勫鍒躲€備粠5.0寮€濮嬶紝Mysql鐨勫鍒跺凡緇忚В鍐充簡(jiǎn)澶ч噺鑰佺増鏈腑鍑虹幇鐨勬棤娉曟紜鍒剁殑闂銆備絾鏄敱浜庡瓨鍌ㄨ繃紼嬬殑鍑虹幇錛岀粰Mysql鐨勫鍒跺張甯︽潵 浜?jiǎn)鏇村ぇ鐨勬柊鎸戞垬銆傚彟澶栵紝鐪嬪埌瀹樻柟鏂囨。璇達(dá)紝浠?.1.8鐗堟湰寮€濮嬶紝Mysql鎻愪緵浜?jiǎn)闄tatement Level鍜孯ow Level涔嬪鐨勭涓夌澶嶅埗妯″紡錛歁ixed錛屽疄闄呬笂灝辨槸鍓嶄袱縐嶆ā寮忕殑緇撳悎銆?/font></p> <p>From MySQL 5.1.12 to MySQL 5.1.28, mixed format is the default. Beginning with MySQL 5.1.29, statement-based format is the default. </p> <p><font face="Times New Roman">鍦∕ixed妯″紡涓嬶紝Mysql浼?xì)鏍规嵁鎵ц鐨勬瘡涓€鏉″叿浣撶殑sql璇彞鏉ュ尯鍒嗗 寰呰褰曠殑鏃ュ織褰㈠紡錛屼篃灝辨槸鍦⊿tatement鍜孯ow涔嬮棿閫夋嫨涓€縐嶃€傛柊鐗堟湰涓殑Statment level榪樻槸鍜屼互鍓嶄竴鏍鳳紝浠呬粎璁板綍鎵ц鐨勮鍙ャ€傝€屾柊鐗堟湰鐨凪ysql涓槦row level妯″紡涔熻鍋氫簡(jiǎn)浼樺寲錛屽茍涓嶆槸鎵€鏈夌殑淇敼閮戒細(xì)浠ow level鏉ヨ褰曪紝鍍忛亣鍒拌〃緇撴瀯鍙樻洿鐨勬椂鍊欏氨浼?xì)浠tatement妯″紡鏉ヨ褰曪紝濡傛灉sql璇彞紜疄灝辨槸update鎴栬€卍elete絳変慨鏀規(guī)暟鎹殑璇彞錛? 閭d箞榪樻槸浼?xì)璁板綍鎵€鏈夎鐨勫彉鏇淬€?br /> </font></p> <font face="Times New Roman"><strong>3銆佸鍒跺父鐢ㄦ灦鏋?/strong><br /> Mysql澶嶅埗鐜90%浠ヤ笂閮芥槸涓€涓狹aster甯︿竴涓垨鑰呭涓猄lave鐨勬灦鏋勬ā寮忥紝涓昏鐢ㄤ簬璇誨帇鍔涙瘮杈冨ぇ鐨勫簲鐢ㄧ殑鏁版嵁搴撶寤変環(huán)鎵╁睍瑙e喅鏂規(guī)銆傚洜涓哄彧 瑕乵aster鍜宻lave鐨勫帇鍔涗笉鏄お澶э紙灝ゅ叾鏄痵lave绔帇鍔涳級(jí)鐨勮瘽錛屽紓姝ュ鍒剁殑寤舵椂涓€鑸兘寰堝皯寰堝皯銆傚挨鍏舵槸鑷猻lave绔殑澶嶅埗鏂瑰紡鏀規(guī)垚涓や釜榪涚▼ 澶勭悊涔嬪悗錛屾洿鏄噺灝忎簡(jiǎn)slave绔殑寤舵椂銆傝€屽甫鏉ョ殑鏁堢泭鏄紝瀵逛簬鏁版嵁瀹炴椂鎬ц姹備笉鏄壒鍒殑鏁忔劅搴︾殑搴旂敤錛屽彧闇€瑕侀€氳繃寤変環(huán)鐨刾c server鏉ユ墿灞晄lave鐨勬暟閲忥紝灝嗚鍘嬪姏鍒嗘暎鍒板鍙皊lave鐨勬満鍣ㄤ笂闈紝鍗沖彲瑙e喅鏁版嵁搴撶鐨勮鍘嬪姏鐡墮銆傝繖鍦ㄥ緢澶х▼搴︿笂瑙e喅浜?jiǎn)鐩墠寰堝涓瓰畯鍨嬀|戠珯 鐨勬暟鎹簱鍘嬪姏鐡墮闂錛岀敋鑷蟲湁浜涘ぇ鍨嬬綉绔欎篃鍦ㄤ嬌鐢ㄧ被浼兼柟妗堣В鍐蟲暟鎹簱鐡墮銆?br /> 涓€涓狹aster甯﹀涓猻lave鐨勬灦鏋勫疄鏂介潪甯哥畝鍗曪紝澶氫釜slave鍜屽崟涓猻lave鐨勫疄鏂藉茍娌℃湁澶ぇ鍖哄埆銆傚湪Master绔茍涓峜are鏈夊灝戜釜 slave榪炰笂浜?jiǎn)master绔紝鍙鏈塻lave榪涚▼閫氳繃浜?jiǎn)杩炴帴璁よ瘉锛屽悜浠栬h眰binlog淇℃伅錛屼粬灝變細(xì)鎸夌収榪炴帴涓婃潵鐨刬o榪涚▼鐨勮姹傦紝璇誨彇鑷繁鐨? binlog淇℃伅錛岃繑鍥炵粰slave鐨処O榪涚▼銆傚浜巗lave鐨勯厤緗粏鑺傦紝鍦∕ysql鐨勫畼鏂規(guī)枃妗d笂闈㈠凡緇忚鐨勫緢娓呮浜?jiǎn)锛岀敋鑷充粙缁嶄簡(jiǎn)澶毧U嶅疄鐜皊lave 鐨勯厤緗柟娉曘€?/font><br /> <img src ="http://www.aygfsteel.com/persister/aggbug/294507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/persister/" target="_blank">persister</a> 2009-09-09 20:37 <a href="http://www.aygfsteel.com/persister/archive/2009/09/09/294507.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>MySQL Indexhttp://www.aygfsteel.com/persister/archive/2009/08/20/291923.htmlpersisterpersisterThu, 20 Aug 2009 03:37:00 GMThttp://www.aygfsteel.com/persister/archive/2009/08/20/291923.htmlhttp://www.aygfsteel.com/persister/comments/291923.htmlhttp://www.aygfsteel.com/persister/archive/2009/08/20/291923.html#Feedback0http://www.aygfsteel.com/persister/comments/commentRss/291923.htmlhttp://www.aygfsteel.com/persister/services/trackbacks/291923.html榪欑瘒鏂囩珷鎽樿嚜緗戠粶錛屽凡緇忔壘涓嶅埌鍘熸枃鍑哄浜?jiǎn)锛屽啓鐨勪笉閿欏Q屽涔?fàn)涓€涓嬨€?br />
鏁版嵁搴撶殑绱㈠紩

1. 濡傛灉涓嶅緩绔嬬儲(chǔ)寮曪紝閭d箞鏌ヨ閮介渶瑕佸叏琛ㄦ壂鎻忥紱濡傛灉寤虹珛浜?jiǎn)鐑?chǔ)寮曪紝鍒欐暟鎹簱浼?xì)淇濆瓨涓€涓儲(chǔ)寮曟枃浠墮€氬父鏄壒孌婄殑緇撴瀯姣斿B鏍?wèi)锛寴q欐牱鏌ヨ璧鋒潵涓嶉渶瑕佸叏琛ㄦ壂鎻忥紝涓€涓嬪瓙鑳藉鎵懼埌婊¤凍瑕佹眰鐨勮褰曘€?/span>

2. 涓€鑸槸瀵?/span>Where涔嬪悗鐨勬潯浠跺緩绔嬬儲(chǔ)寮曪紝鏁版嵁搴撲腑鐨勪富閿槸宸茬粡寤虹珛浜?jiǎn)鐑?chǔ)寮曠殑銆傛暟鎹簱涓彲浠ュ緩绔嬪涓儲(chǔ)寮曘€?/span>

 

3. 鍙互瀵逛笉鍚岀被鍨嬬殑鍒楀緩绔嬬儲(chǔ)寮曘€?/span>

瀵逛簬Text綾誨瀷絳夛紝鍙互浣跨敤MySQL鐨勫叏鏂囨绱㈠姛鑳藉緩绔嬪叏鏂囩儲(chǔ)寮曘€傚畠鍒╃敤浜?jiǎn)鑷劧璇a€鐨勬柟娉曞幓鍦ㄦ枃鏈腑媯€(gè)绱㈠叧閿瘝銆?/span>

涓句釜渚嬪瓙錛氬鏋滀嬌鐢?/span>=鍙風(fēng)殑璇濆彲鑳介渶瑕佷嬌鐢?/span>like浠ュ強(qiáng)%絳夊幓鍖歸厤銆傝€屼嬌鐢?/span>MySQL鐨勫叏鏂囨绱㈠彲浠ヤ嬌鐢?/span>Match鍑芥暟鍗沖彲媯€(gè)绱㈠嚭鍖呭惈鍏抽敭璇嶇殑鍒椼€?/span>

璇︾粏鎯呭喌鍙傜湅MySQL鍙傝€冩墜鍐屽叧浜庡叏鏂囨绱㈢殑閮ㄥ垎銆?/span>

 

4.1浣跨敤绱㈠紩

    鎴戜滑棣栧厛璁ㄨ绱㈠紩錛屽洜涓哄畠鏄姞蹇煡璇㈢殑鏈€閲嶈鐨勫伐鍏楓€傝繕鏈夊叾浠栧姞蹇煡璇㈢殑鎶€鏈紝浣嗘槸鏈€鏈夋晥鐨勮帿榪囦簬鎭板綋鍦頒嬌鐢ㄧ儲(chǔ)寮曚簡(jiǎn)銆傚湪MySQL鐨勯偖浠舵竻鍗曚笂錛屼漢浠€氬父璇㈤棶鍏充簬浣挎煡璇㈡洿蹇殑闂銆傚湪澶ч噺鐨勬渚嬩腑錛岄兘鏄洜涓鴻〃涓婃病鏈夌儲(chǔ)寮曪紝涓€鑸彧瑕佸姞涓婄儲(chǔ)寮曞氨鍙互绔嬪嵆瑙e喅闂銆備絾榪欐牱涔熷茍闈炴€繪槸鏈夋晥錛屽洜涓轟紭鍖栧茍闈炴€繪槸閭f牱綆€鍗曘€傜劧鑰岋紝濡傛灉涓嶄嬌鐢ㄧ儲(chǔ)寮曪紝鍦ㄨ澶氭儏褰笅錛岀敤鍏朵粬鎵嬫鏀瑰杽鎬ц兘鍙細(xì)鏄氮璐規(guī)椂闂淬€傚簲璇ラ鍏堣€冭檻浣跨敤绱㈠紩鍙栧緱鏈€澶х殑鎬ц兘鏀瑰杽錛岀劧鍚庡啀瀵繪眰鍏朵粬鍙兘鏈夊府鍔╃殑鎶€鏈€?/span>

    鏈妭浠嬬粛绱㈠紩鏄粈涔堛€佸畠鎬庢牱鏀瑰杽鏌ヨ鎬ц兘銆佺儲(chǔ)寮曞湪浠€涔堟儏鍐典笅鍙兘浼?xì)闄嶄綆鎬ц兘錛屼互鍙?qiáng)鎬庢牱涓鴻〃閫夋嫨绱㈠紩銆備笅涓€鑺傦紝鎴戜滑灝嗚璁?/span>MySQL鐨勬煡璇紭鍖栫▼搴忋€傞櫎浜?jiǎn)鐭ラ亾鎬庢牱鍒涘緩绱㈠紩澶栵紝浜?jiǎn)瑙d竴浜涗紭鍖栫▼搴忕殑鐭ヨ瘑涔熸槸鏈夊ソ澶勭殑錛屽洜涓鴻繖鏍峰彲浠ユ洿濂藉湴鍒╃敤鎵€鍒涘緩鐨勭儲(chǔ)寮曘€傛煇浜涚紪鍐欐煡璇㈢殑鏂規(guī)硶瀹為檯涓婁細(xì)濡ㄧ绱㈠紩鐨勬晥鏋滐紝搴旇閬垮厤榪欑鎯呭喌鍑虹幇銆傦紙铏界劧騫墮潪鎬諱細(xì)榪欐牱銆傛湁鏃朵篃浼?xì)甯屾湜蹇界暐浼樺寲绋嬪簭鐨勪綔鐢ㄣ€傛垜浠篃灝嗕粙緇嶈繖浜涙儏鍐點(diǎn)€傦級(jí)

    4.1.1绱㈠紩鐨勭泭澶?/span>

    璁╂垜浠粠涓€涓棤绱㈠紩鐨勮〃鐫€鎵嬫潵鑰冨療绱㈠紩鏄€庢牱璧蜂綔鐢ㄧ殑銆傛棤绱㈠紩鐨勮〃灝辨槸涓€涓棤搴忕殑琛岄泦銆備緥濡傦紝鍥?/span>4 - 1緇欏嚭浜?jiǎn)鎴戜滑鍦ńW?/span>1绔?#8220;MySQL涓?/span>SQL 浠嬬粛” 涓鍏堢湅鍒扮殑ad 琛ㄣ€傝繖涓〃涓婃病鏈夌儲(chǔ)寮曪紝鍥犳濡傛灉鎴戜滑鏌ユ壘鏌愪釜鐗瑰畾鍏徃鐨勮鏃訛紝蹇呴』鏌ョ湅琛ㄤ腑鐨勬瘡涓€琛岋紝鐪嬪畠鏄惁涓庢墍闇€鐨勫€煎尮閰嶃€傝繖鏄竴涓叏琛ㄦ壂鎻忥紝寰堟參錛屽鏋滆〃涓彧鏈夊皯鏁板嚑涓褰曚笌鎼滅儲(chǔ)鏉′歡鐩稿尮閰嶏紝鍒欏叾鏁堢巼鏄浉褰撲綆鐨勩€?/span>

                             

    鍥?/span>4 - 2緇欏嚭浜?jiǎn)鐩稿悓鐨勮〃锛屼絾鍦ㄨ〃鐨?/span>company_num 鍒椾笂澧炲姞浜?jiǎn)涓€涓儲(chǔ)寮曘€傛绱㈠紩鍖呭惈琛ㄤ腑姣忚鐨勪竴欏癸紝浣嗘绱㈠紩鏄湪company_num 涓婃帓搴忕殑銆傜幇鍦紝涓嶉渶瑕侀€愯鎼滅儲(chǔ)鍏ㄨ〃鏌ユ壘鍖歸厤鐨勬潯嬈撅紝鑰屾槸鍙互鍒╃敤绱㈠紩榪涜鏌ユ壘銆傚亣濡傛垜浠鏌ユ壘鍏徃13鐨勬墍鏈夎錛岄偅涔堝彲浠ユ壂鎻忕儲(chǔ)寮曪紝緇撴灉寰楀嚭3琛屻€傜劧鍚庡埌杈懼叕鍙?/span>14鐨勮錛岃繖鏄竴涓瘮鎴戜滑姝e湪鏌ユ壘鐨勮澶х殑鍙風(fēng)爜銆傜儲(chǔ)寮曞€兼槸鎺掑簭鐨勶紝鍥犳鍦ㄨ鍒板寘鍚?/span>14鐨勮褰曟椂錛屾垜浠煡閬撲笉浼?xì)鍐嶆湁鍖归厤鐨勮褰曞Q屽彲浠ラ€€鍑轟簡(jiǎn)銆傚鏋滄煡鎵句竴涓€鹼紝瀹冨湪绱㈠紩琛ㄤ腑鏌愪釜涓棿鐐逛互鍓嶄笉浼?xì)鍑虹帋图岄偅涔堜篃鏈夋墤謭板叾绗竴涓尮閰嶇儲(chǔ)寮曢」鐨勫畾浣嶇畻娉曪紝鑰屼笉鐢ㄨ繘琛岃〃鐨勯『搴忔壂鎻忥紙濡備簩鍒嗘煡鎵炬硶錛夈€傝繖鏍鳳紝鍙互蹇€熷畾浣嶅埌絎竴涓尮閰嶇殑鍊鹼紝浠ヨ妭鐪佸ぇ閲忔悳绱㈡椂闂淬€傛暟鎹簱鍒╃敤浜?jiǎn)鍚効U嶅悇鏍風(fēng)殑蹇€熷畾浣嶇儲(chǔ)寮曞€肩殑鎶€鏈紝榪欎簺鎶€鏈槸浠€涔堝茍涓嶉噸瑕侊紝閲嶈鐨勬槸瀹冧滑宸ヤ綔姝e父錛岀儲(chǔ)寮曟妧鏈槸涓ソ涓滆タ銆?/span>

    鏈変漢浼?xì)闂Q屼負(fù)浠€涔堜笉鍙鏁版嵁鏂囦歡榪涜鎺掑簭錛岀渷鎺夌儲(chǔ)寮曟枃浠訛紵榪欐牱涓嶄篃鍦ㄦ悳绱㈡椂浜х敓鐩稿悓鐨勬晥鏋滃悧錛熼棶寰楀ソ錛屽鏋滃彧鏈夊崟涓儲(chǔ)寮曟椂錛?/span>

鏄繖鏍風(fēng)殑銆備笉榪囨湁鍙兘浼?xì)鐢ㄥ埌绗簩涓储寮曞Q屼絾鍚屾椂浠ヤ袱縐嶄笉鍚岀殑鏂規(guī)硶瀵瑰悓涓€涓暟鎹枃浠惰繘琛屾帓搴忔槸涓嶅彲鑳界殑銆傦紙濡傦紝鎯寵涓€涓【瀹㈠悕鐨勭儲(chǔ)

寮曪紝鍚屾椂鍙堣涓€涓【瀹?/span>ID 鍙鋒垨鐢?shù)璇濆忥L(fēng)爜鐨勭儲(chǔ)寮曘€傦級(jí)灝嗙儲(chǔ)寮曟枃浠朵綔涓轟竴涓笌鏁版嵁鏂囦歡鐙珛鐨勫疄浣撳氨瑙e喅浜?jiǎn)杩欎釜闂锛岃€屼笖鍏佽鍒涘緩澶氫釜绱?/span>

寮曘€傛澶栵紝绱㈠紩涓殑琛屼竴鑸姣旀暟鎹枃浠朵腑鐨勮鐭€傚湪鎻掑叆鎴栧垹闄ゅ€兼椂錛屼負(fù)淇濇寔鎺掑簭欏哄簭鑰岀Щ鍔ㄨ緝鐭殑绱㈠紩鍊間笌縐誨姩杈冮暱鐨勬暟鎹鐩告瘮鏇?/span>

涓哄鏄撱€?/span>

      

    榪欎釜渚嬪瓙涓?/span>MySQL绱㈠紩琛ㄧ殑鏂規(guī)硶鐩哥銆傝〃鐨勬暟鎹淇濆瓨鍦ㄦ暟鎹枃浠朵腑錛岃€岀儲(chǔ)寮曞€間繚瀛樺湪绱㈠紩鏂囦歡涓€備竴涓〃涓婂彲鏈変笉姝竴涓儲(chǔ)寮曪紱濡傛灉紜疄鏈変笉姝竴涓儲(chǔ)寮曪紝瀹冧滑閮戒繚瀛樺湪鍚屼竴涓儲(chǔ)寮曟枃浠朵腑銆傜儲(chǔ)寮曟枃浠朵腑鐨勬瘡涓儲(chǔ)寮曠敱鎺掕繃搴忕殑鐢ㄦ潵蹇€熻闂暟鎹枃浠剁殑閿褰曟暟緇勬瀯鎴愩€?/span>

鍓嶉潰鐨勮璁烘弿榪頒簡(jiǎn)鍗曡〃鏌ヨ涓儲(chǔ)寮曠殑濂藉錛屽叾涓嬌鐢ㄧ儲(chǔ)寮曟秷闄や簡(jiǎn)鍏ㄨ〃鎵弿錛屾瀬澶у湴鍔犲揩浜?jiǎn)鎼滅储鐨勯€熷害銆傚湪鎵ц娑夊強(qiáng)澶氫釜琛ㄧ殑榪炴帴鏌ヨ鏃訛紝绱㈠紩鐢氳嚦浼?xì)鏇存湁洵h(huán)鍊箋€傚湪鍗曚釜琛ㄧ殑鏌ヨ涓紝姣忓垪闇€瑕佹煡鐪嬬殑鍊肩殑鏁扮洰灝辨槸琛ㄤ腑琛岀殑鏁扮洰銆傝€屽湪澶氫釜琛ㄧ殑鏌ヨ涓紝鍙兘鐨勭粍鍚堟暟鐩瀬澶э紝鍥犱負(fù)榪欎釜鏁扮洰涓哄悇琛ㄤ腑琛屾暟涔嬬Н銆?/span>

  銆€ 鍋囧鏈変笁涓湭绱㈠紩鐨勮〃t 1銆?/span>t 2銆?/span>t 3錛屽垎鍒彧鍖呭惈鍒?/span>c 1銆?/span>c 2銆?/span>c 3錛屾瘡涓〃鍒嗗埆鐢卞惈鏈夋暟鍊?/span>1鍒?/span>1000 鐨?/span>1000 琛岀粍鎴愩€傛煡鎵懼搴斿€肩浉絳夌殑琛ㄨ緇勫悎鐨勬煡璇㈠涓嬫墍紺猴細(xì)

    SELECT c1,c2,c3

    FROM t1,t2,t3

    WHERE c1=c2 AND c1=c3

    姝ゆ煡璇㈢殑緇撴灉搴旇涓?/span>1000 琛岋紝姣忎釜緇勫悎鍖呭惈3 涓浉絳夌殑鍊箋€傚鏋滄垜浠湪鏃犵儲(chǔ)寮曠殑鎯呭喌涓嬪鐞嗘鏌ヨ錛屽垯涓嶅彲鑳界煡閬撳摢浜涜鍖呭惈閭d簺鍊箋€傚洜姝わ紝蹇呴』瀵繪壘鍑烘墍鏈夌粍鍚堜互渚垮緱鍑轟笌WHERE 瀛愬彞鐩擱厤鐨勯偅浜涚粍鍚堛€傚彲鑳界殑緇勫悎鏁扮洰涓?/span>10 0 0??0 0 0??0 0 0錛堝崄浜匡級(jí)錛屾瘮鍖歸厤鏁扮洰澶氫竴鐧句竾鍊嶃€傚緢澶氬伐浣滈兘嫻垂浜?jiǎn)锛岒q朵笖榪欎釜鏌ヨ灝嗕細(xì)闈炲父鎱紝鍗充嬌鍦ㄥ鍍?/span>MySQL榪欐牱蹇殑鏁版嵁搴撲腑鎵ц涔熶細(xì)寰堟參銆傝€岃繖榪樻槸姣忎釜琛ㄤ腑鍙湁1000 琛岀殑鎯呭艦銆傚鏋滄瘡涓〃涓湁涓€鐧句竾琛屾椂錛屽皢浼?xì)鎬庢牱錛熷緢鏄劇劧錛岃繖鏍峰皢浼?xì)漶旂敓鎬ц兘鏋佷負(fù)浣庝笅鐨勭粨鏋溿€傚鏋滃姣忎釜琛ㄨ繘琛岀儲(chǔ)寮曪紝灝辮兘鏋佸ぇ鍦板姞閫熸煡璇㈣繘紼嬶紝鍥犱負(fù)鍒╃敤绱㈠紩鐨勬煡璇㈠鐞嗗涓嬶細(xì)

    1) 濡備笅浠庤〃t1涓€夋嫨絎竴琛岋紝鏌ョ湅姝よ鎵€鍖呭惈鐨勫€箋€?/span>

    2) 浣跨敤琛?/span>t2 涓婄殑绱㈠紩錛岀洿鎺ヨ煩鍒?/span>t2 涓笌鏉ヨ嚜t1鐨勫€煎尮閰嶇殑琛屻€傜被浼鹼紝鍒╃敤琛?/span>t3 涓婄殑绱㈠紩錛岀洿鎺ヨ煩鍒?/span>t3 涓笌鏉ヨ嚜t1鐨勫€煎尮閰嶇殑琛屻€?/span>

    3) 榪涘埌琛?/span>t1鐨勪笅涓€琛屽茍閲嶅鍓嶉潰鐨勮繃紼嬬洿鍒?/span>t1涓墍鏈夌殑琛屽凡緇忔煡榪囥€傚湪姝ゆ儏褰笅錛屾垜浠粛鐒跺琛?/span>t1鎵ц浜?jiǎn)涓€涓畬鍏ㄦ壂鎻忥紝浣嗚兘澶熷湪琛?/span>t2 鍜?/span>t3 涓婅繘琛岀儲(chǔ)寮曟煡鎵劇洿鎺ュ彇鍑?guó)櫩欎簺琛ㄤ腑鐨勮銆備粠閬撶悊涓婅錛岃繖鏃剁殑鏌ヨ姣旀湭鐢ㄧ儲(chǔ)寮曟椂瑕佸揩涓€鐧句竾鍊嶃€傚涓婃墍榪幫紝MySQL鍒╃敤绱㈠紩鍔犻€熶簡(jiǎn)WHERE 瀛愬彞涓笌鏉′歡鐩擱厤鐨勮鐨勬悳绱紝鎴栬€呰鍦ㄦ墽琛岃繛鎺ユ椂鍔犲揩浜?jiǎn)涓庡叾浠栬〃涓殑琛屽寶w厤鐨勮鐨勬悳绱€€傚畠涔熷埄鐢ㄧ儲(chǔ)寮曟潵鏀硅繘鍏朵粬鎿嶄綔鐨勬€ц兘錛?/span>

    鈻?/span> 鍦ㄤ嬌鐢?/span>MIN( ) 鍜?/span>MAX( ) 鍑芥暟鏃訛紝鑳藉蹇€熸壘鍒扮儲(chǔ)寮曞垪鐨勬渶灝忔垨鏈€澶у€箋€?/span>

    鈻?/span> MySQL甯稿父鑳藉鍒╃敤绱㈠紩鏉ュ畬鎴?/span>ORDER BY 瀛愬彞鐨勬帓搴忔搷浣溿€?/span>

    鈻?/span> 鏈夋椂錛?/span>MySQL鍙伩鍏嶅鏁翠釜鏁版嵁鏂囦歡鐨勮鍙栥€傚亣濡備粠涓€涓儲(chǔ)寮曟暟鍊煎垪涓€夋嫨鍊鹼紝鑰屼笖涓嶉€夋嫨琛ㄤ腑鍏朵粬鍒椼€傝繖鏃訛紝閫氳繃瀵圭儲(chǔ)寮曞€肩殑璇誨彇錛屽氨宸茬粡寰楀埌浜?jiǎn)璇诲彇鏁版嵁鏂囦欢鎵€瑕佸緱鍒扮殑鍊箋€傛病鏈夊鐩稿悓鐨勫€艱繘琛屼袱嬈¤鍙栫殑蹇呰錛屽洜姝わ紝鐢氳嚦鏃犻渶娑夊強(qiáng)鏁版嵁鏂囦歡銆?/span>

    4.1.2 绱㈠紩鐨勫紛绔?/span>

    涓€鑸儏鍐典笅錛屽鏋?/span>MySQL鑳藉鐭ラ亾鎬庢牱鐢ㄧ儲(chǔ)寮曟潵鏇村揩鍦板鐞嗘煡璇紝瀹冨氨浼?xì)杩欐牱鍋氥€傝繖琛ㄧず錛屽湪澶у鏁版儏鍐典笅錛屽鏋滄?zhèn)ㄤ笉瀵硅〃杩涜鐑?chǔ)寮曪紝鍒欐崯瀹崇殑鏄?zhèn)ㄨ嚜宸辩殑鍒╃泭銆傚彲浠ョ湅鍑猴紝浣滆€呮弿緇樹簡(jiǎn)绱㈠紩鐨勮澶氬ソ澶勩€備絾鏈変笉鍒╀箣澶勫悧錛熸槸鐨勶紝鏈夈€傚疄闄呬笂錛岃繖浜涚己鐐硅浼樼偣鎵€鎺╃洊浜?jiǎn)锛?/span>

浣嗗簲璇ュ瀹冧滑鏈夋墍浜?jiǎn)瑙c€?/span>

    棣栧厛錛岀儲(chǔ)寮曟枃浠惰鍗犵鐩樼┖闂淬€傚鏋滄湁澶ч噺鐨勭儲(chǔ)寮曪紝绱㈠紩鏂囦歡鍙兘浼?xì)姣旀暟鎹枃錃g鏇村揩鍦拌揪鍒版渶澶х殑鏂囦歡灝哄銆傚叾嬈★紝绱㈠紩鏂囦歡鍔犲揩浜?jiǎn)妫€绱紝浣嗗鍔犱簡(jiǎn)鎻掑叆鍜屽垹闄わ紝浠ュ強(qiáng)鏇存柊绱㈠紩鍒椾腑鐨勫€肩殑鏃墮棿錛堝嵆錛岄檷浣庝簡(jiǎn)澶у鏁版秹鍙?qiáng)鍐欏叆鐨勬搷浣滅殑鏃堕椷_(dá)級(jí)錛屽洜涓哄啓鎿嶄綔涓嶄粎娑夊強(qiáng)鏁版嵁琛岋紝鑰屼笖榪樺父甯告秹鍙?qiáng)鐑?chǔ)寮曘€備竴涓〃鎷ユ湁鐨勭儲(chǔ)寮曡秺澶氾紝鍒欏啓鎿嶄綔鐨勫鉤鍧囨€ц兘涓嬮檷灝辮秺澶с€傚湪4 . 4鑺?#8220;鏈夋晥鍦拌杞芥暟鎹?#8221;涓紝鎴戜滑灝嗘洿涓鴻緇嗗湴浠嬬粛榪欎簺鎬ц兘闂錛屽茍璁ㄨ鎬庢牱瑙e喅銆?/span>

    4.1.3 閫夋嫨绱㈠紩

    鍒涘緩绱㈠紩鐨勮娉曞凡緇忓湪3 . 4 . 3鑺?#8220;鍒涘緩鍜屽垹闄ょ儲(chǔ)寮?#8221;涓繘琛屼簡(jiǎn)浠嬬粛銆傝繖閲岋紝鎴戜滑鍋囧畾鎮(zhèn)ㄥ凡緇忛槄璇昏繃璇ヨ妭銆備絾鏄煡閬撹娉曞茍涓嶈兘甯姪紜畾琛ㄦ€庢牱榪涜绱㈠紩銆傝鍐沖畾琛ㄦ€庢牱榪涜绱㈠紩闇€瑕佽€冭檻琛ㄧ殑浣跨敤鏂瑰紡銆傛湰鑺備粙緇嶄竴浜涘叧浜庢€庢牱紜畾鍜屾寫閫夌儲(chǔ)寮曞垪鐨勫噯鍒欙細(xì)

    鈻?/span> 鎼滅儲(chǔ)鐨勭儲(chǔ)寮曞垪錛屼笉涓€瀹氭槸鎵€瑕侀€夋嫨鐨勫垪銆傛崲鍙ヨ瘽璇達(dá)紝鏈€閫傚悎绱㈠紩鐨勫垪鏄嚭鐜板湪WHERE 瀛愬彞涓殑鍒楋紝鎴栬繛鎺ュ瓙鍙ヤ腑鎸囧畾鐨勫垪錛岃€屼笉鏄嚭鐜板湪SELECT 鍏抽敭瀛楀悗鐨勯€夋嫨鍒楄〃涓殑鍒楋細(xì)

 

 

    褰撶劧錛屾墍閫夋嫨鐨勫垪鍜岀敤浜?/span>WHERE 瀛愬彞鐨勫垪涔熷彲鑳芥槸鐩稿悓鐨勩€傚叧閿槸錛屽垪鍑虹幇鍦ㄩ€夋嫨鍒楄〃涓笉鏄鍒楀簲璇ョ儲(chǔ)寮曠殑鏍囧織銆傚嚭鐜板湪榪炴帴瀛愬彞涓殑鍒楁垨鍑虹幇鍦ㄥ艦濡?/span>col1= col2 鐨勮〃杈懼紡涓殑鍒楁槸寰堥€傚悎绱㈠紩鐨勫垪銆傛煡璇腑鐨?/span>col_b 鍜?/span>col_c 灝辨槸榪欐牱鐨勪緥瀛愩€傚鏋?/span>MySQL鑳藉埄鐢ㄨ繛鎺ュ垪鏉ヤ紭鍖栦竴涓煡璇紝琛ㄧず瀹冮€氳繃娑堥櫎鍏ㄨ〃鎵弿鐩稿綋鍙鍦板噺灝戜簡(jiǎn)琛ㄨ鐨勭粍鍚堛€?/span>

    鈻?/span> 浣跨敤鎯熶竴绱㈠紩銆傝€冭檻鏌愬垪涓€肩殑鍒嗗竷銆傚浜庢儫涓€鍊肩殑鍒楋紝绱㈠紩鐨勬晥鏋滄渶濂斤紝鑰屽叿鏈夊涓噸澶嶅€肩殑鍒楋紝鍏剁儲(chǔ)寮曟晥鏋滄渶宸€備緥濡傦紝瀛樻斁騫撮緞鐨勫垪鍏鋒湁涓嶅悓鍊鹼紝寰堝鏄撳尯鍒嗗悇琛屻€傝€岀敤鏉ヨ褰曟€у埆鐨勫垪錛屽彧鍚湁“ M”鍜?#8220;F”錛屽垯瀵規(guī)鍒楄繘琛岀儲(chǔ)寮曟病鏈夊澶х敤澶勶紙涓嶇鎼滅儲(chǔ)鍝釜鍊鹼紝閮戒細(xì)寰楀嚭澶х害涓€鍗婄殑琛岋級(jí)銆?/span>

    鈻?/span> 浣跨敤鐭儲(chǔ)寮曘€傚鏋滃涓插垪榪涜绱㈠紩錛屽簲璇ユ寚瀹氫竴涓墠緙€闀垮害錛屽彧瑕佹湁鍙兘灝卞簲璇ヨ繖鏍峰仛銆備緥濡傦紝濡傛灉鏈変竴涓?/span>CHAR(200) 鍒楋紝濡傛灉鍦ㄥ墠10 涓垨20 涓瓧絎﹀唴錛屽鏁板€兼槸鎯熶竴鐨勶紝閭d箞灝變笉瑕佸鏁翠釜鍒楄繘琛岀儲(chǔ)寮曘€傚鍓?/span>10 涓垨20 涓瓧絎﹁繘琛岀儲(chǔ)寮曡兘澶熻妭鐪佸ぇ閲忕儲(chǔ)寮曠┖闂達(dá)紝涔熷彲鑳戒細(xì)浣挎煡璇㈡洿蹇€傝緝?yōu)畯鐨勭储寮曟秹鍙?qiáng)鐨勭鐩?/span>I/O 杈冨皯錛岃緝鐭殑鍊兼瘮杈冭搗鏉ユ洿蹇€傛洿涓洪噸瑕佺殑鏄紝瀵逛簬杈冪煭鐨勯敭鍊鹼紝绱㈠紩楂橀€熺紦瀛樹腑鐨勫潡鑳藉綰蟲洿澶氱殑閿€鹼紝鍥犳錛?/span>MySQL涔熷彲浠ュ湪鍐呭瓨涓綰蟲洿澶氱殑鍊箋€傝繖澧炲姞浜?jiǎn)鎵惧埌琛岃€屼笉鐢ㄨ鍙栫儲(chǔ)寮曚腑杈冨鍧楃殑鍙兘鎬с€傦紙褰撶劧錛屽簲璇ュ埄鐢ㄤ竴浜涘父璇嗐€傚浠呯敤鍒楀€肩殑絎竴涓瓧絎﹁繘琛岀儲(chǔ)寮曟槸涓嶅彲鑳芥湁澶氬ぇ濂藉鐨勶紝鍥犱負(fù)榪欎釜绱㈠紩涓笉浼?xì)鏈夎澶氫笉鍚岀殑鍊箋€傦級(jí)

    鈻?/span> 鍒╃敤鏈€宸﹀墠緙€銆傚湪鍒涘緩涓€涓?/span>n 鍒楃殑绱㈠紩鏃訛紝瀹為檯鏄垱寤轟簡(jiǎn)MySQL鍙埄鐢ㄧ殑n 涓儲(chǔ)寮曘€傚鍒楃儲(chǔ)寮曞彲璧峰嚑涓儲(chǔ)寮曠殑浣滅敤錛屽洜涓哄彲鍒╃敤绱㈠紩涓渶宸﹁竟鐨勫垪闆嗘潵鍖歸厤琛屻€傝繖鏍風(fēng)殑鍒楅泦縐頒負(fù)鏈€宸﹀墠緙€銆傦紙榪欎笌绱㈠紩涓€涓垪鐨勫墠緙€涓嶅悓錛岀儲(chǔ)寮曚竴涓垪鐨勫墠緙€鏄埄鐢ㄨ鐨勫墠n 涓瓧絎︿綔涓虹儲(chǔ)寮曞€箋€傦級(jí)

    鍋囧涓€涓〃鍦ㄥ垎鍒悕涓?/span>s t a t e銆?/span>city 鍜?/span>zip 鐨勪笁涓垪涓婃湁涓€涓儲(chǔ)寮曘€傜儲(chǔ)寮曚腑鐨勮鏄寜state/city/zip 鐨勬搴忓瓨鏀劇殑錛屽洜姝わ紝绱㈠紩涓殑琛屼篃浼?xì)鑷姩鎸?/span>state/city 鐨勯『搴忓拰state 鐨勯『搴忓瓨鏀俱€傝繖琛ㄧず錛屽嵆浣垮湪鏌ヨ涓彧鎸囧畾state 鍊兼垨鍙寚瀹?/span>state 鍜?/span>city 鐨勫€鹼紝MySQL涔熷彲浠ュ埄鐢ㄧ儲(chǔ)寮曘€傚洜姝わ紝姝ょ儲(chǔ)寮曞彲鐢ㄦ潵鎼滅儲(chǔ)涓嬪垪鐨勫垪緇勫悎錛?/span>

    state,city,zip

    state,city

    sate

    MySQL涓嶈兘浣跨敤涓嶆秹鍙?qiáng)宸﹀墠缂€鐨勬悳绱€€備緥濡傦紝濡傛灉鎸?/span>city 鎴?/span>zip 榪涜鎼滅儲(chǔ)錛屽垯涓嶈兘浣跨敤璇ョ儲(chǔ)寮曘€傚鏋滆鎼滅儲(chǔ)鏌愪釜宸炰互鍙?qiáng)鏌愪?/span>zip 浠g爜錛堢儲(chǔ)寮曚腑鐨勫垪1鍜屽垪3錛夛紝鍒欐绱㈠紩涓嶈兘鐢ㄤ簬鐩稿簲鍊肩殑緇勫悎銆備絾鏄紝鍙埄鐢ㄧ儲(chǔ)寮曟潵瀵繪壘涓庤宸炵浉絎︾殑琛岋紝浠ュ噺灝戞悳绱㈣寖鍥淬€?/span>



persister 2009-08-20 11:37 鍙戣〃璇勮
]]>
MySQL Got a packet bigger than 'max_allowed_packet' bytes閿欒http://www.aygfsteel.com/persister/archive/2009/07/30/289186.htmlpersisterpersisterThu, 30 Jul 2009 14:54:00 GMThttp://www.aygfsteel.com/persister/archive/2009/07/30/289186.htmlhttp://www.aygfsteel.com/persister/comments/289186.htmlhttp://www.aygfsteel.com/persister/archive/2009/07/30/289186.html#Feedback0http://www.aygfsteel.com/persister/comments/commentRss/289186.htmlhttp://www.aygfsteel.com/persister/services/trackbacks/289186.html
Error Code:1153 Got a packet bigger than 'max_allowed_packet' bytes閿欒鎻愮ず銆?br /> 寮€濮嬫病娉ㄦ剰錛屾彁紺轟竴澶у爢錛屽悗鏉ユ墠鐪嬭榪欏彞
浣跨敤SQLyog宸ュ叿瀵煎嚭MySQL鏁版嵁鏃訛紝褰撴暟鎹噺澶ф椂錛屽鍑轟笉浼?xì)閿欒锛屼絾瀵煎叆鏃朵細(xì)鍑虹幇閿欒銆傚鏋滃皢SQL鍗曠嫭鎵ц浼?xì)鍙戠幇鏄疎rror Code:1153 Got a packet bigger than 'max_allowed_packet' bytes閿欒銆?br /> 瀵逛簬榪欎釜闂鍙互鍦╩y.ini涓渶鍚庡鍔犱竴琛宮ax_allowed_packet=16M鍗沖彲錛堟牴鎹疄闄呮儏鍐佃緗級(jí)銆?br />
娉ㄦ剰錛屽湪[client]鍜孾mysql]閮ㄥ垎澧炲姞鏃犳晥錛岄偅涓槸瀹㈡埛绔鍙栫殑鍙傛暟銆?

persister 2009-07-30 22:54 鍙戣〃璇勮
]]>
mysql repair鍛戒護(hù)http://www.aygfsteel.com/persister/archive/2009/04/23/267192.htmlpersisterpersisterThu, 23 Apr 2009 09:30:00 GMThttp://www.aygfsteel.com/persister/archive/2009/04/23/267192.htmlhttp://www.aygfsteel.com/persister/comments/267192.htmlhttp://www.aygfsteel.com/persister/archive/2009/04/23/267192.html#Feedback0http://www.aygfsteel.com/persister/comments/commentRss/267192.htmlhttp://www.aygfsteel.com/persister/services/trackbacks/267192.html
SequenceUtil.SequenceBank.fillBank] SQL Exception while executing the following:
UPDATE SEQUENCE_VALUE_ITEM SET SEQ_ID=SEQ_ID+100 WHERE SEQ_NAME='Visit'
Error was:Incorrect key file for table './ccbofbiz/sequence_value_item.MYI'; try to repair it
Exception: java.sql.SQLException
Message: Incorrect key file for table './ccbofbiz/sequence_value_item.MYI'; try to repair it

寰堝皯鐪嬪埌榪欐牱鐨勯敊璇紝浠婂ぉ琚垜紕板埌浜?jiǎn)锛屽搱鍝?br /> 榪愯濡備笅鍛戒護(hù)錛?br /> repair table SEQUENCE_VALUE_ITEM

鎴愬姛浜?jiǎn)锛岄潪甯歌涓嶉敊銆?

persister 2009-04-23 17:30 鍙戣〃璇勮
]]>
浠嶭iveJournal鍚庡彴鍙戝睍鐪嬪ぇ瑙勬ā緗戠珯鎬ц兘浼樺寲鏂規(guī)硶(鏃犲浘鐗囩増)http://www.aygfsteel.com/persister/archive/2008/12/05/244515.htmlpersisterpersisterFri, 05 Dec 2008 02:52:00 GMThttp://www.aygfsteel.com/persister/archive/2008/12/05/244515.htmlhttp://www.aygfsteel.com/persister/comments/244515.htmlhttp://www.aygfsteel.com/persister/archive/2008/12/05/244515.html#Feedback0http://www.aygfsteel.com/persister/comments/commentRss/244515.htmlhttp://www.aygfsteel.com/persister/services/trackbacks/244515.html姝や負(fù)杞澆錛屽師鏂囪鑷鎼滅儲(chǔ)銆?/h3>

涓€銆丩iveJournal鍙戝睍鍘嗙▼

LiveJournal鏄?9騫村浜庢牎鍥腑鐨勯」鐩紝鍑犱釜浜哄嚭浜庣埍濂藉仛浜?jiǎn)杩欐牱涓€涓簲鐢紝浠ュ疄鐜頒互涓嬪姛鑳斤細(xì)
  • 鍗氬錛岃鍧?
  • 紺句細(xì)鎬х綉緇滐紝鎵懼埌鏈嬪弸
  • 鑱氬悎錛屾妸鏈嬪弸鐨勬枃绔犺仛鍚堝湪涓€璧?/li>
LiveJournal閲囩敤浜?jiǎn)澶ч噺鐨勫紑婧愯蔣浠訛紝鐢氳嚦瀹冩湰韜篃鏄竴涓紑婧愯蔣浠躲€?

鍦ㄤ笂綰垮悗錛孡iveJournal瀹炵幇浜?jiǎn)闈炲父蹇€熺殑澧為暱錛?/p>

  • 2004騫?鏈堜喚錛?80涓囨敞鍐岀敤鎴楓€?
  • 2005騫?鏈堜喚錛?80涓囨敞鍐岀敤鎴楓€?
  • 2005騫?鏈堜喚錛?90涓囨敞鍐岀敤鎴楓€?
  • 杈懼埌浜?jiǎn)姣徔U掗挓涓婂崈嬈$殑欏甸潰璇鋒眰鍙?qiáng)澶勭悊銆?
  • 浣跨敤浜?jiǎn)澶ч噺MySQL鏈嶅姟鍣ㄣ€?
  • 浣跨敤浜?jiǎn)澶ч噺閫氱敤緇勪歡銆?/li>

浜屻€丩iveJournal鏋舵瀯鐜扮姸姒傚喌



涓夈€佷粠LiveJournal鍙戝睍涓涔?/h2>

 

LiveJournal浠?鍙版湇鍔″櫒鍙戝睍鍒?00鍙版湇鍔″櫒錛岃繖鍏朵腑緇忓巻浜?jiǎn)鏃犳暟鐨勪激鐥涘Q屼絾鍚屾椂涔熸懜绱㈠嚭浜?jiǎn)瑙e唽櫩欎簺闂鐨勬栆?guī)硶錛岄€氳繃瀵筁iveJournal鐨勫涔?fàn)锛屽彲浠ヨ鎴戜滑閬垮厤LJ鏇劇粡鐘繃鐨勯敊璇紝騫朵笖浠庝竴寮€濮嬪氨瀵圭郴緇熻繘琛岃壇濂界殑璁捐錛屼互閬垮厤鍚庢湡鐨勭棝鑻︺€?/p>

涓嬮潰鎴戜滑涓€姝ヤ竴姝ョ湅LJ鍙戝睍鐨勮剼姝ャ€?/p>

1銆佷竴鍙版湇鍔″櫒

涓€鍙板埆浜烘崘鍔╃殑鏈嶅姟鍣紝LJ鏈€鍒濆氨璺戝湪涓婇潰錛屽氨鍍廏oogle寮€濮嬫椂鍊欑敤鐨勭牬鏈嶅姟鍣ㄤ竴鏍鳳紝鍊煎緱鎴戜滑灝婃暚銆傝繖涓樁孌碉紝LJ鐨勪漢浠ユ儕浜虹殑閫熷害鐔熸?zhèn)夌殑Unix鐨勬搷浣滅鐞嗭紝鏈嶅姟鍣ㄦ€ц兘鍑虹幇榪囬棶棰橈紝涓嶈繃榪樺ソ錛屽彲浠ラ€氳繃涓€浜涘皬淇皬鏀瑰簲浠樿繃鍘匯€傚湪榪欎釜闃舵閲孡J鎶奀GI鍗囩駭鍒頒簡(jiǎn)FastCGI銆?/p>

鏈€緇堥棶棰樺嚭鐜頒簡(jiǎn)錛岀綉绔欒秺鏉ヨ秺鎱紝宸茬粡鏃犳硶閫氳繃浼樿繃鍖栨潵瑙e喅鐨勫湴姝ワ紝闇€瑕佹洿澶氱殑鏈嶅姟鍣紝榪欐椂LJ寮€濮嬫彁渚涗粯璐規(guī)湇鍔★紝鍙兘鏄兂閫氳繃榪欎簺閽辨潵璐拱鏂扮殑鏈嶅姟鍣紝浠ヨВ鍐沖綋鏃剁殑鍥板銆?br /> 姣棤鐤戦棶錛屽綋鏃禠J瀛樺湪宸ㄥぇ鐨勫崟鐐歸棶棰橈紝鎵€鏈夌殑涓滆タ閮藉湪閭e彴鏈嶅姟鍣ㄧ殑閾佺毊鐩掑瓙閲岃鐫€銆?/p>


2銆佷袱鍙版湇鍔″櫒

鐢ㄤ粯璐規(guī)湇鍔¤禋鏉ョ殑閽盠J涔頒簡(jiǎn)涓ゅ彴鏈嶅姟鍣細(xì)涓€鍙板彨鍋欿enny鐨凞ell 6U鏈哄櫒鐢ㄤ簬鎻愪緵Web鏈嶅姟錛屼竴鍙板彨鍋欳artman鐨凞ell 6U鏈嶅姟鍣ㄧ敤浜庢彁渚涙暟鎹簱鏈嶅姟銆?/p>


LJ鏈変簡(jiǎn)鏇村ぇ鐨勭鐩橈紝鏇村鐨勮綆楄祫婧愩€備絾鍚屾椂緗戠粶緇撴瀯榪樻槸闈炲父綆€鍗曪紝姣忓彴鏈哄櫒涓ゅ潡緗戝崱錛孋artman閫氳繃鍐呯綉涓篕enny鎻愪緵MySQL鏁版嵁搴撴湇鍔°€?br />
鏆傛椂瑙e喅浜?jiǎn)璐熻浇鐨勯棶棰樺Q屾柊鐨勯棶棰樺張鍑虹幇浜?jiǎn)锛?xì)

  • 鍘熸潵鐨勪竴涓崟鐐瑰彉鎴愪簡(jiǎn)涓や釜鍗曠偣銆?
  • 娌℃湁鍐峰浠芥垨鐑浠姐€?
  • 緗戠珯閫熷害鎱㈢殑闂鍙堝紑濮嬪嚭鐜頒簡(jiǎn)錛屾病鍔炴硶錛屽闀垮お蹇簡(jiǎn)銆?
  • Web鏈嶅姟鍣ㄤ笂CPU杈懼埌涓婇檺錛岄渶瑕佹洿澶氱殑Web鏈嶅姟鍣ㄣ€?/li>

3銆佸洓鍙版湇鍔″櫒

鍙堜拱浜?jiǎn)涓ゅ弾图孠yle鍜孲tan錛岃繖嬈¢兘鏄?U鐨勶紝閮界敤浜庢彁渚沇eb鏈嶅姟銆傜洰鍓峀J涓€鍏辨湁3鍙癢eb鏈嶅姟鍣ㄥ拰涓€鍙版暟鎹簱鏈嶅姟鍣ㄣ€傝繖鏃墮渶瑕佸湪3鍙癢eb鏈嶅姟鍣ㄤ笂榪涜璐熻澆鍧囨í銆?/p>


LJ鎶奒enny鐢ㄤ簬澶栭儴鐨勭綉鍏籌紝浣跨敤mod_backhand榪涜璐熻澆鍧囨í銆?/p>

鐒跺悗闂鍙堝嚭鐜頒簡(jiǎn)錛?/p>

  • 鍗曠偣鏁呴殰銆傛暟鎹簱鍜岀敤浜庡仛緗戝叧鐨刉eb鏈嶅姟鍣ㄩ兘鏄崟鐐癸紝涓€鏃︿換浣曚竴鍙版満鍣ㄥ嚭鐜伴棶棰樺皢瀵艱嚧鎵€鏈夋湇鍔′笉鍙敤銆傝櫧鐒剁敤浜庡仛緗戝叧鐨刉eb鏈嶅姟鍣ㄥ彲浠ラ€氳繃淇濇寔蹇?jī)锜╁悓姝q呴€熷垏鎹紝浣嗚繕鏄棤娉曡В鍐蟲暟鎹簱鐨勫崟鐐癸紝LJ褰撴椂涔熸病鍋氳繖涓€?
  • 緗戠珯鍙堝彉鎱簡(jiǎn)錛岃繖嬈℃槸鍥犱負(fù)IO鍜屾暟鎹簱鐨勯棶棰橈紝闂鏄€庝箞寰€搴旂敤閲岄潰娣誨姞鏁版嵁搴撳憿錛?/li>

4銆佷簲鍙版湇鍔″櫒

鍙堜拱浜?jiǎn)涓€鍙版暟鎹簱鏈嶅姟鍣ㄣ€傚湪涓ゅ彴鏁版嵁搴撴湇鍔″櫒涓婁嬌鐢ㄤ簡(jiǎn)鏁版嵁搴撳悓姝?Mysql鏀寔鐨凪aster-Slave妯″紡)錛屽啓鎿嶄綔鍏ㄩ儴閽堝涓繪暟鎹簱錛堥€氳繃Binlog錛屼富鏈嶅姟鍣ㄤ笂鐨勫啓鎿嶄綔鍙互榪呴€熷悓姝ュ埌浠庢湇鍔″櫒涓婏級(jí)錛岃鎿嶄綔鍦ㄤ袱涓暟鎹簱涓婂悓鏃惰繘琛?涔熺畻鏄礋杞藉潎妯殑涓€縐嶅惂)銆?/p>


瀹炵幇鍚屾鏃惰娉ㄦ剰鍑犱釜浜嬮」錛?/p>

  • 璇繪搷浣滄暟鎹簱閫夋嫨綆楁硶澶勭悊錛岃閫変竴涓綋鍓嶈礋杞借交涓€鐐圭殑鏁版嵁搴撱€?
  • 鍦ㄤ粠鏁版嵁搴撴湇鍔″櫒涓婂彧鑳借繘琛岃鎿嶄綔
  • 鍑嗗濂藉簲瀵瑰悓姝ヨ繃紼嬩腑鐨勫歡榪燂紝澶勭悊涓嶅ソ鍙兘浼?xì)瀵艰嚧鏁版嵁搴撳悓姝ョ殑涓柇銆傚彧闇€瑕佸鍐欐搷浣滆繘琛屽垽鏂嵆鍙紝璇繪搷浣滀笉瀛樺湪鍚屾闂銆?/li>

5銆佹洿澶氭湇鍔″櫒

鏈夐挶浜?jiǎn)锛屽綋鐒惰澶氫诡C簺鏈嶅姟鍣ㄣ€傞儴緗插悗蹇簡(jiǎn)娌″涔咃紝鍙堝紑濮嬫參浜?jiǎn)銆傝繖嬈℃湁鏇村鐨刉eb鏈嶅姟鍣紝鏇村鐨勬暟鎹簱鏈嶅姟鍣紝瀛樺湪 IO涓嶤PU浜夌敤銆備簬鏄噰鐢ㄤ簡(jiǎn)BIG-IP浣滀負(fù)璐熻澆鍧囪 瑙e喅鏂規(guī)銆?/p>


6銆佺幇鍦ㄦ垜浠湪鍝噷錛?/h2>


鐜板湪鏈嶅姟鍣ㄥ熀鏈笂澶熶簡(jiǎn)錛屼絾鎬ц兘榪樻槸鏈夐棶棰橈紝鍘熷洜鍑哄湪鏋舵瀯涓娿€?/p>

鏁版嵁搴撶殑鏋舵瀯鏄渶澶х殑闂銆傜敱浜庡鍔犵殑鏁版嵁搴撻兘鏄互Slave妯″紡娣誨姞鍒板簲鐢ㄥ唴錛岃繖鏍峰敮涓€鐨勫ソ澶勫氨鏄皢璇繪搷浣滃垎甯冨埌浜?jiǎn)澶氬彴鏈哄櫒锛屼絾杩欐牱甯︽潵鐨勫悗鏋湠鏄啓鎿嶄綔琚ぇ閲忓垎鍙戝Q屾瘡鍙版満鍣ㄩ兘瑕佹墽琛岋紝鏈嶅姟鍣ㄨ秺澶氾紝嫻垂灝辮秺澶э紝闅忕潃鍐欐搷浣滅殑澧炲姞錛岀敤浜庢湇鍔¤鎿嶄綔鐨勮祫婧愯秺鏉ヨ秺灝戙€?/p>


鐢變竴鍙板垎甯冨埌涓ゅ彴


鏈€緇堟晥鏋?/p>

鐜板湪鎴戜滑鍙戠幇錛屾垜浠茍涓嶉渶瑕佹妸榪欎簺鏁版嵁鍦ㄥ姝ゅ鐨勬湇鍔″櫒涓婇兘淇濈暀涓€浠姐€傛湇鍔″櫒涓婂凡緇忓仛浜?jiǎn)RAID錛屾暟鎹簱涔熻繘琛屼簡(jiǎn)澶囦喚錛岃繖涔堝鐨勫浠藉畬鍏ㄦ槸瀵硅祫婧愮殑嫻垂錛屽睘浜庡啑浣欐瀬绔繃搴︺€傞偅涓轟粈涔堜笉鎶婃暟鎹垎甯冨瓨鍌ㄥ憿錛?/p>

闂鍙戠幇浜?jiǎn)锛屽紑濮嬭€冭檻濡備綍瑙e喅銆傜幇鍦ㄨ鍋氱殑灝辨槸鎶婁笉鍚岀敤鎴風(fēng)殑鏁版嵁鍒嗗竷鍒頒笉鍚岀殑鏈嶅姟鍣ㄤ笂榪涜瀛樺偍錛屼互瀹炵幇鏁版嵁鐨勫垎甯冨紡瀛樺偍錛岃姣忓彴鏈哄櫒鍙負(fù)鐩稿鍥哄畾鐨勭敤鎴鋒湇鍔★紝浠ュ疄鐜板鉤琛岀殑鏋舵瀯鍜岃壇濂界殑鍙墿灞曟€с€?/p>

涓轟簡(jiǎn)瀹炵幇鐢ㄦ埛鍒嗙粍錛屾垜浠渶瑕佷負(fù)姣忎竴涓敤鎴峰垎閰嶄竴涓粍鏍囪錛岀敤浜庢爣璁版鐢ㄦ埛鐨勬暟鎹瓨鏀懼湪鍝竴緇勬暟鎹簱鏈嶅姟鍣ㄤ腑銆傛瘡緇勬暟鎹簱鐢變竴涓猰aster鍙?qiáng)鍑犱釜slave緇勬垚錛屽茍涓攕lave鐨勬暟閲忓湪2-3鍙幫紝浠ュ疄鐜扮郴緇熻祫婧愮殑鏈€鍚堢悊鍒嗛厤錛屾棦淇濊瘉鏁版嵁璇繪搷浣滃垎甯冿紝鍙堥伩鍏嶆暟鎹繃搴﹀啑浣欎互鍙?qiáng)鍚屾鎿嶄綔瀵咕p葷粺璧勬簮鐨勮繃搴︽秷鑰椼€?/p>


鐢變竴鍙幫紙涓€緇勶級(jí)涓績(jī)鏈嶅姟鍣ㄦ彁渚涚敤鎴峰垎緇勬帶鍒躲€傛墍鏈夌敤鎴風(fēng)殑鍒嗙粍淇℃伅閮藉瓨鍌ㄥ湪榪欏彴鏈哄櫒涓婏紝鎵€鏈夐拡瀵圭敤鎴風(fēng)殑鎿嶄綔闇€瑕佸厛鏌ヨ榪欏彴鏈哄櫒寰楀埌鐢ㄦ埛鐨勭粍鍙鳳紝鐒跺悗鍐嶅埌鐩稿簲鐨勬暟鎹簱緇勪腑鑾峰彇鏁版嵁銆?/p>

榪欐牱鐨勭敤鎴鋒灦鏋勪笌鐩墠LJ鐨勬灦鏋勫凡緇忓緢鐩稿儚浜?jiǎn)銆?/p>

鍦ㄥ叿浣撶殑瀹炵幇鏃墮渶瑕佹敞鎰忓嚑涓棶棰橈細(xì)

  • 鍦ㄦ暟鎹簱緇勫唴涓嶈浣跨敤鑷ID錛屼互渚夸簬浠ュ悗鍦ㄦ暟鎹簱緇勪箣闂磋縼縐葷敤鎴鳳紝浠ュ疄鐜版洿鍚堢悊鐨処/O錛岀鐩樼┖闂村強(qiáng)璐熻澆鍒嗗竷銆?
  • 灝唘serid錛宲ostid瀛樺偍鍦ㄥ叏灞€鏈嶅姟鍣ㄤ笂錛屽彲浠ヤ嬌鐢ㄨ嚜澧烇紝鏁版嵁搴撶粍涓殑鐩稿簲鍊煎繀欏諱互鍏ㄥ眬鏈嶅姟鍣ㄤ笂鐨勫€間負(fù)鍑嗐€傚叏灞€鏈嶅姟鍣ㄤ笂浣跨敤浜嬪姟鍨嬫暟鎹簱InnoDB銆?
  • 鍦ㄦ暟鎹簱緇勪箣闂磋縼縐葷敤鎴鋒椂瑕佷竾鍒嗗皬蹇?jī)锛屽綋杩伩U繪椂鐢ㄦ埛涓嶈兘鏈夊啓鎿嶄綔銆?/li>

7銆佺幇鍦ㄦ垜浠湪鍝噷


闂錛?/p>

  • 涓€涓叏灞€涓繪湇鍔″櫒錛屾寕鎺夌殑璇濇墍鏈夌敤鎴鋒敞鍐屽強(qiáng)鍐欐搷浣滃氨鎸傛帀銆?
  • 姣忎釜鏁版嵁搴撶粍涓€涓富鏈嶅姟鍣紝鎸傛帀鐨勮瘽榪欑粍鐢ㄦ埛鐨勫啓鎿嶄綔灝辨寕鎺夈€?
  • 鏁版嵁搴撶粍浠庢湇鍔″櫒鎸傛帀鐨勮瘽浼?xì)瀵艰嚧鍏跺畠鏈嶅姟鍣ㄨ礋铦矘q囧ぇ銆?/li>

瀵逛簬Master-Slave妯″紡鐨勫崟鐐歸棶棰橈紝LJ閲囧彇浜?jiǎn)Master-Master妯″紡鏉ヨВ鍐熾€傛墍璋揗aster-Master瀹為檯涓婃槸浜哄伐瀹炵幇鐨勶紝騫朵笉鏄敱MySQL鐩存帴鎻愪緵鐨勶紝瀹為檯涓婁篃灝辨槸涓ゅ彴鏈哄櫒鍚屾椂鏄疢aster錛屼篃鍚屾椂鏄疭lave錛屼簰鐩稿悓姝ャ€?/p>

Master-Master瀹炵幇鏃墮渶瑕佹敞鎰忥細(xì)

  • 涓€涓狹aster鍑洪敊鍚庢仮澶嶅悓姝ワ紝鏈€濂界敱鏈嶅姟鍣ㄨ嚜鍔ㄥ畬鎴愩€?
  • 鏁板瓧鍒嗛厤錛岀敱浜庡悓鏃跺湪涓ゅ彴鏈哄櫒涓婂啓錛屾湁浜汭D鍙兘浼?xì)鍐步H併€?/li>

瑙e喅鏂規(guī)錛?br />

  • 濂囧伓鏁板垎閰岻D錛屼竴鍙版満鍣ㄤ笂鍐欏鏁幫紝涓€鍙版満鍣ㄤ笂鍐欏伓鏁?
  • 閫氳繃鍏ㄥ眬鏈嶅姟鍣ㄨ繘琛屽垎閰?LJ閲囩敤鐨勫仛娉?銆?/li>

 

Master-Master妯″紡榪樻湁涓€縐嶇敤娉曪紝榪欑鏂規(guī)硶涓庡墠涓€縐嶇浉姣旓紝浠嶇劧淇濇寔涓ゅ彴鏈哄櫒鐨勫悓姝ワ紝浣嗗彧鏈変竴鍙版満鍣ㄦ彁渚涙湇鍔★紙璇誨拰鍐欙級(jí)錛屽湪姣忓ぉ鏅氫笂鐨勬椂鍊欒繘琛岃疆鎹紝鎴栬€呭嚭鐜伴棶棰樼殑鏃跺€欒繘琛屽垏鎹€€?/p>

8銆佺幇鍦ㄦ垜浠湪鍝噷


鐜板湪鎻掓挱涓€鏉″箍鍛婏紝MyISAM VS InnoDB銆?/p>

浣跨敤InnoDB錛?/p>

  • 鏀寔浜嬪姟
  • 闇€瑕佸仛鏇村鐨勯厤緗紝涓嶈繃鍊煎緱錛屽彲浠ユ洿瀹夊叏鐨勫瓨鍌ㄦ暟鎹紝浠ュ強(qiáng)寰楀埌鏇村揩鐨勯€熷害銆?/li>

浣跨敤MyISAM錛?/p>

  • 璁板綍鏃ュ織錛圠J鐢ㄥ畠鏉ヨ緗戠粶璁塊棶鏃ュ織錛?
  • 瀛樺偍鍙闈?rùn)鎬佹暟鎹紝瓚沖蹇€?
  • 騫跺彂鎬у緢宸紝鏃犳硶鍚屾椂璇誨啓鏁版嵁錛堟坊鍔犳暟鎹彲浠ワ級(jí)
  • MySQL闈炴甯稿叧闂垨姝繪満鏃朵細(xì)瀵艱嚧绱㈠紩閿欒錛岄渶瑕佷嬌鐢╩yisamchk淇錛岃€屼笖褰撹闂噺澶ф椂鍑虹幇闈炲父棰戠箒銆?/li>

9銆佺紦瀛?/h2>

鍘誨勾鎴戝啓榪?a >涓€綃囨枃绔犱粙緇峬emcached錛屽畠?yōu)鏄敱LJ鐨勫洟闃熷紑鍙戠殑涓€嬈劇紦瀛樺伐鍏鳳紝浠ey-value鐨勬柟寮忓皢鏁版嵁瀛樺偍鍒板垎甯冪殑鍐呭瓨涓€侺J緙撳瓨鐨勬暟鎹細(xì)

  • 12鍙扮嫭绔嬫湇鍔″櫒錛堜笉鏄崘璧犵殑錛?
  • 28涓疄渚?
  • 30GB鎬誨閲?
  • 90-93%鐨勫懡涓巼錛堢敤榪噑quid鐨勪漢鍙兘鐭ラ亾錛宻quid鍐呭瓨鍔犵鐩樼殑鍛戒腑鐜囧ぇ姒傚湪70-80%錛?/li>

濡備綍寤虹珛緙撳瓨絳栫暐錛?/p>

鎯崇紦瀛樻墍鏈夌殑涓滆タ錛熼偅鏄笉鍙兘鐨勶紝鎴戜滑鍙渶瑕佺紦瀛樺凡緇忔垨鑰呭彲鑳藉鑷寸郴緇熺摱棰堢殑鍦版柟錛屾渶澶х▼搴︾殑鎻愪氦緋葷粺榪愯鏁堢巼銆傞€氳繃瀵筂ySQL鐨勬棩蹇楃殑鍒嗘瀽鎴戜滑鍙互鎵懼埌緙撳瓨鐨勫璞°€?/p>

緙撳瓨鐨勭己鐐癸紵

  • 娌℃湁瀹岀編鐨勪簨鐗╋紝緙撳瓨涔熸湁緙虹偣錛?
  • 澧炲ぇ寮€鍙戦噺錛岄渶瑕侀拡瀵圭紦瀛樺鐞嗙紪鍐欑壒孌婄殑浠g爜銆?
  • 綆$悊闅懼害澧炲姞錛岄渶瑕佹洿澶氫漢鍙備笌緋葷粺緇存姢銆?
  • 褰撶劧澶у唴瀛樹篃闇€瑕侀挶銆?/li>

10銆乄eb璁塊棶璐熻澆鍧囪 

鍦ㄦ暟鎹寘綰у埆浣跨敤BIG-IP錛屼絾BIG-IP騫朵笉鐭ラ亾鎴戜滑鍐呴儴鐨勫鐞嗘満鍒訛紝鏃犳硶鍒ゆ柇鐢卞摢鍙版湇鍔″櫒瀵硅繖浜涜姹傝繘琛屽鐞嗐€傚弽鍚戜唬鐞嗗茍涓嶈兘寰堝ソ鐨勮搗鍒頒綔鐢紝涓嶆槸宸茬粡澶熷揩浜?jiǎn)锛尀鏄揪涓嶅埌鎴戜滑鎯宠鐨勬晥鏋溿€?/p>

鎵€浠ワ紝LJ鍙堝紑鍙戜簡(jiǎn)Perlbal銆傜壒鐐癸細(xì)

  • 蹇紝灝忥紝鍙鐞嗙殑http web 鏈嶅姟鍣?浠g悊
  • 鍙互鍦ㄥ唴閮ㄨ繘琛岃漿鍙?
  • 浣跨敤Perl寮€鍙?
  • 鍗曠嚎紼嬶紝寮傛錛屽熀浜庝簨浠訛紝浣跨敤epoll , kqueue
  • 鏀寔Console綆$悊涓巋ttp榪滅▼綆$悊錛屾敮鎸佸姩鎬侀厤緗姞杞?
  • 澶氱妯″紡錛歸eb鏈嶅姟鍣紝鍙嶅悜浠g悊錛屾彃浠?
  • 鏀寔鎻掍歡錛欸IF/PNG浜掓崲錛?/li>

11銆丮ogileFS

LJ浣跨敤寮€婧愮殑MogileFS浣滀負(fù)鍒嗗竷寮忔枃浠跺瓨鍌ㄧ郴緇熴€侻ogileFS浣跨敤闈炲父綆€鍗曪紝瀹冪殑涓昏璁捐鎬濇兂鏄細(xì)

  • 鏂囦歡灞炰簬綾伙紙綾繪槸鏈€灝忕殑澶嶅埗鍗曚綅錛?
  • 璺熻釜鏂囦歡瀛樺偍浣嶇疆
  • 鍦ㄤ笉鍚屼富鏈轟笂瀛樺偍
  • 浣跨敤MySQL闆嗙兢緇熶竴瀛樺偍鍒嗗竷淇℃伅
  • 澶у鏄撳粔浠風(fēng)鐩?/li>

鍒扮洰鍓嶄負(fù)姝㈠氨榪欎箞澶氫簡(jiǎn)錛屾洿澶氭枃妗e彲浠ュ湪http://www.danga.com/words/鎵懼埌銆?a >Danga.com鍜?a >LiveJournal.com鐨勫悓瀛︿滑鎷胯繖涓枃妗e弬鍔犱簡(jiǎn)涓ゆMySQL Con錛屼袱嬈S Con錛屼互鍙?qiáng)浼楀鐨勫叾瀹冧細(xì)璁Q屾棤縐佺殑鎶婁粬浠殑緇忛獙鍒嗕韓鍑烘潵錛屽€煎緱鎴戜滑瀛︿範(fàn)銆傚湪web2.0鏃朵唬蹇€熷紑鍙戝緱鍒板ぇ瀹惰秺鏉ヨ秺澶氱殑閲嶈錛屼絾鑹ソ鐨勮璁′粛鏄瘡涓€涓簲鐢ㄧ殑鍩虹錛屽笇鏈泈eb2.0浠湪鎴愰暱涓篢op500緗戠珯鐨勮礬涓婏紝涓嶈鍥犱負(fù)鏋舵瀯闃葷浜?jiǎn)缃戠珯鐨勫彂灞曘€?/p>

鍙傝€冭祫鏂欙細(xì)http://www.danga.com/words/2005_oscon/oscon-2005.pdf



persister 2008-12-05 10:52 鍙戣〃璇勮
]]>瀵筸ysql explain璁茬殑姣旇緝娓呮鐨?/title><link>http://www.aygfsteel.com/persister/archive/2008/10/27/236813.html</link><dc:creator>persister</dc:creator><author>persister</author><pubDate>Mon, 27 Oct 2008 02:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/persister/archive/2008/10/27/236813.html</guid><wfw:comment>http://www.aygfsteel.com/persister/comments/236813.html</wfw:comment><comments>http://www.aygfsteel.com/persister/archive/2008/10/27/236813.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/persister/comments/commentRss/236813.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/persister/services/trackbacks/236813.html</trackback:ping><description><![CDATA[鍦?explain鐨勫府鍔╀笅錛屾?zhèn)q煡閬撲粈涔堟椂鍊欒緇欒〃娣誨姞绱㈠紩錛屼互浣跨敤绱㈠紩鏉ユ煡鎵捐褰曚粠鑰岃select 榪愯鏇村揩銆?br /> 濡傛灉鐢變簬涓嶆伆褰撲嬌鐢ㄧ儲(chǔ)寮曡€屽紩璧蜂竴浜涢棶棰樼殑璇濓紝鍙互榪愯 analyze table鏉ユ洿鏂拌琛ㄧ殑緇熻淇℃伅錛屼緥濡傞敭鐨勫熀鏁幫紝瀹冭兘甯?zhèn)ㄥ湪浼樺寲鏂归潰鍋氬嚭鏇村ソ鐨勯€夋嫨銆?br /> <br /> explain 榪斿洖浜?jiǎn)涓€琛岃褰曪紝瀹冨寘鎷簡(jiǎn) select璇彞涓敤鍒扮殑鍚勪釜琛ㄧ殑淇℃伅銆傝繖浜涜〃鍦ㄧ粨鏋滀腑鎸夌収mysql鍗沖皢鎵ц鐨勬煡璇腑璇誨彇鐨勯『搴忓垪鍑烘潵銆俶ysql鐢ㄤ竴嬈℃壂鎻忓嬈¤繛鎺ワ紙single- sweep,multi-join錛夌殑鏂規(guī)硶鏉ヨВ鍐寵繛鎺ャ€傝繖鎰忓懗鐫€mysql浠庣涓€涓〃涓鍙栦竴鏉¤褰曪紝鐒跺悗鍦ㄧ浜屼釜琛ㄤ腑鏌ユ壘鍒板搴旂殑璁板綍錛岀劧鍚庡湪絎笁涓〃 涓煡鎵撅紝渚濇綾繪帹銆傚綋鎵€鏈夌殑琛ㄩ兘鎵弿瀹屼簡(jiǎn)錛屽畠杈撳嚭閫夋嫨鐨勫瓧孌靛茍涓斿洖婧墍鏈夌殑琛紝鐩村埌鎵句笉鍒頒負(fù)姝紝鍥犱負(fù)鏈夌殑琛ㄤ腑鍙兘鏈夊鏉″尮閰嶇殑璁板綍涓嬩竴鏉¤褰曞皢浠庤琛ㄨ 鍙栵紝鍐嶄粠涓嬩竴涓〃寮€濮嬬戶緇鐞嗐€?br /> 鍦╩ysql version 4.1涓紝explain杈撳嚭鐨勭粨鏋滄牸寮忔敼鍙樹簡(jiǎn)錛屼嬌寰楀畠鏇撮€傚悎渚嬪 union璇彞銆佸瓙鏌ヨ浠ュ強(qiáng)媧劇敓琛ㄧ殑緇撴瀯銆傛洿浠や漢娉ㄦ剰鐨勬槸錛屽畠鏂板浜?涓瓧孌碉細(xì) id鍜?select_type銆傚綋浣犱嬌鐢ㄦ棭浜巑ysql4.1鐨勭増鏈氨鐪嬩笉鍒拌繖浜涘瓧孌典簡(jiǎn)銆?br /> explain緇撴灉鐨勬瘡琛岃褰曟樉紺轟簡(jiǎn)姣忎釜琛ㄧ殑鐩稿叧淇℃伅錛屾瘡琛岃褰曢兘鍖呭惈浠ヤ笅鍑犱釜瀛楁錛?br /> <br /> id <br /> 鏈 select 鐨勬爣璇嗙銆傚湪鏌ヨ涓瘡涓?select閮芥湁涓€涓『搴忕殑鏁板€箋€?br /> select_type <br /> select 鐨勭被鍨嬶紝鍙兘浼?xì)鏈変互涓嬪嚑绉嶅Q?br /> simple: 綆€鍗曠殑 select 錛堟病鏈変嬌鐢?union鎴栧瓙鏌ヨ錛?br /> <br /> primary: 鏈€澶栧眰鐨?select銆?br /> <br /> union: 絎簩灞傦紝鍦╯elect 涔嬪悗浣跨敤浜?union銆?br /> <br /> dependent union: union 璇彞涓殑絎簩涓猻elect錛屼緷璧栦簬澶栭儴瀛愭煡璇?br /> <br /> subquery: 瀛愭煡璇腑鐨勭涓€涓?select<br /> <br /> dependent subquery: 瀛愭煡璇腑鐨勭涓€涓?subquery渚濊禆浜庡閮ㄧ殑瀛愭煡璇?br /> <br /> derived: 媧劇敓琛?select錛坒rom瀛愬彞涓殑瀛愭煡璇級(jí)<br /> <br /> table<br /> 璁板綍鏌ヨ寮曠敤鐨勮〃銆?br /> <br /> type<br /> 琛ㄨ繛鎺ョ被鍨嬨€備互涓嬪垪鍑轟簡(jiǎn)鍚勭涓嶅悓綾誨瀷鐨勮〃榪炴帴錛屼緷嬈℃槸浠庢渶濂界殑鍒版渶宸殑錛?br /> <br /> system:琛ㄥ彧鏈変竴琛岃褰曪紙絳変簬緋葷粺琛級(jí)銆傝繖鏄?const琛ㄨ繛鎺ョ被鍨嬬殑涓€涓壒渚嬨€?br /> <br /> const:琛ㄤ腑鏈€澶氬彧鏈変竴琛屽尮閰嶇殑璁板綍錛屽畠鍦ㄦ煡璇竴寮€濮嬬殑鏃跺€欏氨浼?xì)琚d彇鍑烘潵銆傜敱浜庡彧鏈変竴琛岃褰曪紝鍦ㄤ綑涓嬬殑浼樺寲紼嬪簭閲岃琛岃褰曠殑瀛楁鍊煎彲浠ヨ褰撲綔鏄竴涓? 鎭掑畾鍊箋€俢onst琛ㄦ煡璇㈣搗鏉ラ潪甯稿揩錛屽洜涓哄彧瑕佽鍙栦竴嬈★紒const 鐢ㄤ簬鍦ㄥ拰 primary key 鎴杣nique 绱㈠紩涓湁鍥哄畾鍊兼瘮杈冪殑鎯呭艦銆備笅闈㈢殑鍑犱釜鏌ヨ涓紝tbl_name 灝辨槸 c琛ㄤ簡(jiǎn)錛?br /> select * from tbl_name where primary_key=1; select * from tbl_namewhere primary_key_part1=1 and primary_key_part2=2;<br /> <br /> eq_ref:浠庤琛ㄤ腑浼?xì)鏈変竴琛岃褰曡璇誨彇鍑烘潵浠ュ拰浠庡墠涓€涓〃涓鍙栧嚭鏉ョ殑璁板綍鍋氳仈鍚堛€備笌const綾誨瀷涓嶅悓鐨勬槸錛岃繖鏄渶濂界殑榪炴帴綾誨瀷銆傚畠鐢ㄥ湪绱㈠紩鎵€鏈夐儴 鍒嗛兘鐢ㄤ簬鍋氳繛鎺ュ茍涓旇繖涓儲(chǔ)寮曟槸涓€涓猵rimary key 鎴?unique 綾誨瀷銆俥q_ref鍙互鐢ㄤ簬鍦ㄨ繘琛?="鍋氭瘮杈冩椂媯€(gè)绱㈠瓧孌點(diǎn)€傛瘮杈冪殑鍊煎彲浠ユ槸鍥哄畾鍊兼垨鑰呮槸琛ㄨ揪寮忥紝琛ㄨ揪紺轟腑鍙互浣跨敤琛ㄩ噷鐨勫瓧孌碉紝瀹冧滑鍦ㄨ琛ㄤ箣鍓嶅凡緇忓噯澶囧ソ 浜?jiǎn)銆備互涓嬬殑鍑犱釜渚嬪瓙涓紝mysql浣跨敤浜?jiǎn)eq_ref 榪炴帴鏉ュ鐞?ref_table錛?br /> <br /> <br /> select * from ref_table,other_table whereref_table.key_column=other_table.column; select * fromref_table,other_table whereref_table.key_column_part1=other_table.column andref_table.key_column_part2=1;<br /> <br /> ref: 璇ヨ〃涓墍鏈夌鍚堟绱㈠€肩殑璁板綍閮戒細(xì)琚彇鍑烘潵鍜屼粠涓婁竴涓〃涓彇鍑烘潵鐨勮褰曚綔鑱斿悎銆俽ef鐢ㄤ簬榪炴帴紼嬪簭浣跨敤閿殑鏈€宸﹀墠緙€鎴栬€呮槸璇ラ敭涓嶆槸 primary key 鎴? unique绱㈠紩錛堟崲鍙ヨ瘽璇達(dá)紝灝辨槸榪炴帴紼嬪簭鏃犳硶鏍規(guī)嵁閿€煎彧鍙栧緱涓€鏉¤褰曪級(jí)鐨勬儏鍐點(diǎn)€傚綋鏍規(guī)嵁閿€煎彧鏌ヨ鍒板皯鏁板嚑鏉″尮閰嶇殑璁板綍鏃訛紝榪欏氨鏄竴涓笉閿欑殑榪炴帴綾誨瀷銆? ref榪樺彲浠ョ敤浜庢绱㈠瓧孌典嬌鐢?=鎿嶄綔絎︽潵姣旇緝鐨勬椂鍊欍€備互涓嬬殑鍑犱釜渚嬪瓙涓紝mysql灝嗕嬌鐢?ref 鏉ュ鐞唕ef_table錛?br /> select * from ref_table where key_column=expr; select * fromref_table,other_table whereref_table.key_column=other_table.column; select * fromref_table,other_table whereref_table.key_column_part1=other_table.column andref_table.key_column_part2=1;<br /> <br /> ref_or_null: 榪欑榪炴帴綾誨瀷綾諱技 ref錛屼笉鍚岀殑鏄痬ysql浼?xì)鍦▼個(gè)绱㈢殑鏃跺€欓澶栫殑鎼滅儲(chǔ)鍖呭惈null 鍊肩殑璁板綍銆傝繖縐嶈繛鎺ョ被鍨嬬殑浼樺寲鏄粠mysql4.1.1寮€濮嬬殑錛屽畠緇忓父鐢ㄤ簬瀛愭煡璇€€傚湪浠ヤ笅鐨勪緥瀛愪腑錛宮ysql浣跨敤ref_or_null 綾誨瀷鏉ュ鐞? ref_table錛?br /> select * from ref_table where key_column=expr or key_column is null;<br /> <br /> <br /> unique_subquery: 榪欑綾誨瀷鐢ㄤ緥濡備竴涓嬪艦寮忕殑 in 瀛愭煡璇㈡潵鏇挎崲 ref錛?br /> value in (select primary_key from single_table where some_expr)<br /> <br /> unique_subquery: 鍙槸鐢ㄦ潵瀹屽叏鏇挎崲瀛愭煡璇㈢殑绱㈠紩鏌ユ壘鍑芥暟鏁堢巼鏇撮珮浜?jiǎn)銆?br /> <br /> index_subquery: 榪欑榪炴帴綾誨瀷綾諱技 unique_subquery銆傚畠鐢ㄥ瓙鏌ヨ鏉ヤ唬鏇縤n錛屼笉榪囧畠鐢ㄤ簬鍦ㄥ瓙鏌ヨ涓病鏈夊敮涓€绱㈠紩鐨勬儏鍐典笅錛屼緥濡備互涓嬪艦寮忥細(xì)<br /> value in (select key_column from single_table where some_expr)<br /> <br /> range: 鍙湁鍦ㄧ粰瀹氳寖鍥寸殑璁板綍鎵嶄細(xì)琚彇鍑烘潵錛屽埄鐢ㄧ儲(chǔ)寮曟潵鍙栧緱涓€鏉¤褰曘€俴ey瀛楁琛ㄧず浣跨敤浜?jiǎn)鍝釜鐑?chǔ)寮曘€俴ey_len瀛楁鍖呮嫭浜?jiǎn)鋴社敤鐨勯敭鐨勬渶闀塊儴鍒嗐€傝繖縐嶇被鍨嬫椂 ref 瀛楁鍊兼槸 null銆俽ange鐢ㄤ簬灝嗘煇涓瓧孌靛拰涓€涓畾妞嶇敤浠ヤ笅浠諱綍鎿嶄綔絎︽瘮杈冩椂 =, <>, >,>=, <, <=, is null, <=>, between, 鎴?in錛?br /> select * from tbl_name where key_column = 10; select * fromtbl_name where key_column between 10 and 20; select * from tbl_namewhere key_column in (10,20,30); select * from tbl_name wherekey_part1= 10 and key_part2 in (10,20,30);<br /> <br /> index: 榪炴帴綾誨瀷璺?all 涓€鏍鳳紝涓嶅悓鐨勬槸瀹冨彧鎵弿绱㈠紩鏍?wèi)銆傚畠閫氬父浼?xì)姣?all蹇偣錛屽洜涓虹儲(chǔ)寮曟枃浠墮€氬父姣旀暟鎹枃浠跺皬銆俶ysql鍦ㄦ煡璇㈢殑瀛楁鐭ヨ瘑鍗曠嫭鐨勭儲(chǔ)寮曠殑涓€閮ㄥ垎鐨勬儏鍐典笅浣跨敤榪欑榪炴帴綾誨瀷銆?br /> <br /> all: 灝嗗璇ヨ〃鍋氬叏閮ㄦ壂鎻忎互鍜屼粠鍓嶄竴涓〃涓彇寰楃殑璁板綍浣滆仈鍚堛€傝繖鏃跺€欏鏋滅涓€涓〃娌℃湁琚爣璇嗕負(fù)const鐨勮瘽灝變笉澶уソ浜?jiǎn)锛屽湪鍏朵粬鎯呭喌涓嬮€氬父鏄潪甯哥碂緋曠殑銆傛甯稿湴錛屽彲浠ラ€氳繃澧炲姞绱㈠紩浣垮緱鑳戒粠琛ㄤ腑鏇村揩鐨勫彇寰楄褰曚互閬垮厤all銆?br /> <br /> <br /> possible_keys<br /> possible_keys瀛楁鏄寚 mysql鍦ㄦ悳绱㈣〃璁板綍鏃跺彲鑳戒嬌鐢ㄥ摢涓儲(chǔ)寮曘€傛敞鎰忥紝榪欎釜瀛楁瀹屽叏鐙珛浜巈xplain 鏄劇ず鐨勮〃欏哄簭銆傝繖灝辨剰鍛崇潃 possible_keys閲岄潰鎵€鍖呭惈鐨勭儲(chǔ)寮曞彲鑳藉湪瀹為檯鐨勪嬌鐢ㄤ腑娌$敤鍒般€傚鏋滆繖涓瓧孌電殑鍊兼槸null錛屽氨琛ㄧず娌℃湁绱㈠紩琚敤鍒般€傝繖縐嶆儏鍐典笅錛屽氨鍙互媯€(gè)鏌? where瀛愬彞涓摢浜涘瓧孌甸偅浜涘瓧孌甸€傚悎澧炲姞绱㈠紩浠ユ彁楂樻煡璇㈢殑鎬ц兘銆傚氨榪欐牱錛屽垱寤轟竴涓嬬儲(chǔ)寮曪紝鐒跺悗鍐嶇敤explain 媯€(gè)鏌ヤ竴涓嬨€傝緇嗙殑鏌ョ湅绔犺妭"14.2.2 alter tablesyntax"銆傛兂鐪嬭〃閮芥湁浠€涔堢儲(chǔ)寮曪紝鍙互閫氳繃 show index from tbl_name鏉ョ湅銆?br /> <br />  <br /> key<br /> key瀛楁鏄劇ず浜?jiǎn)mysql瀹為檯涓婅鐢ㄧ殑绱㈠紩銆傚綋娌℃湁浠諱綍绱㈠紩琚敤鍒扮殑鏃跺€欙紝榪欎釜瀛楁鐨勫€煎氨鏄痭ull銆傛兂瑕佽mysql寮鴻浣跨敤鎴栬€呭拷鐣ュ湪 possible_keys瀛楁涓殑绱㈠紩鍒楄〃錛屽彲浠ュ湪鏌ヨ璇彞涓嬌鐢ㄥ叧閿瓧force index, use index,鎴?ignore index銆傚鏋滄槸 myisam 鍜?bdb 綾誨瀷琛紝鍙互浣跨敤 analyzetable 鏉ュ府鍔╁垎鏋愪嬌鐢ㄤ嬌鐢ㄥ摢涓儲(chǔ)寮曟洿濂姐€傚鏋滄槸 myisam綾誨瀷琛紝榪愯鍛戒護(hù) myisamchk --analyze涔熸槸涓€鏍風(fēng)殑鏁堟灉銆傝緇嗙殑鍙互鏌ョ湅绔犺妭"14.5.2.1 analyze tablesyntax"鍜?5.7.2 table maintenance and crash recovery"銆?br /> <br /> key_len<br /> key_len 瀛楁鏄劇ず浜?jiǎn)mysql浣跨敤绱㈠紩鐨勯暱搴︺€傚綋 key 瀛楁鐨勫€間負(fù) null鏃訛紝绱㈠紩鐨勯暱搴﹀氨鏄?null銆傛敞鎰忥紝key_len鐨勫€煎彲浠ュ憡璇変綘鍦ㄨ仈鍚堢儲(chǔ)寮曚腑mysql浼?xì)鐪熸鋴社敤浜?jiǎn)鍝簺绱㈠紩銆?br /> <br /> ref<br /> ref 瀛楁鏄劇ず浜?jiǎn)鍝簺瀛棇D墊垨鑰呭父閲忚鐢ㄦ潵鍜?key閰嶅悎浠庤〃涓煡璇㈣褰曞嚭鏉ャ€?br /> <br /> rows<br /> rows 瀛楁鏄劇ず浜?jiǎn)mysql璁や負(fù)鍦ㄦ煡璇腑搴旇媯€(gè)绱㈢殑璁板綍鏁般€?br /> <br /> extra<br /> <br /> 鏈瓧孌墊樉紺轟簡(jiǎn)鏌ヨ涓璵ysql鐨勯檮鍔犱俊鎭€備互涓嬫槸榪欎釜瀛楁鐨勫嚑涓笉鍚屽€肩殑瑙i噴錛?br /> <br /> distinct:mysql褰撴壘鍒板綋鍓嶈褰曠殑鍖歸厤鑱斿悎緇撴灉鐨勭涓€鏉¤褰曚箣鍚庯紝灝變笉鍐嶆悳绱㈠叾浠栬褰曚簡(jiǎn)銆?br /> <br /> not exists:mysql鍦ㄦ煡璇㈡椂鍋氫竴涓?left join浼樺寲鏃訛紝褰撳畠鍦ㄥ綋鍓嶈〃涓壘鍒頒簡(jiǎn)鍜屽墠涓€鏉¤褰曠鍚?left join鏉′歡鍚庯紝灝變笉鍐嶆悳绱㈡洿澶氱殑璁板綍浜?jiǎn)銆備笅闈㈡槸涓€涓繖縐嶇被鍨嬬殑鏌ヨ渚嬪瓙錛?br /> select * from t1 left join t2 on t1.id=t2.id where t2.id isnull;<br /> <br /> 鍋囦嬌 t2.id 瀹氫箟涓?not null銆傝繖縐嶆儏鍐典笅錛宮ysql灝嗕細(xì)鎵弿琛?t1騫朵笖鐢?t1.id 鐨勫€煎湪 t2 涓煡鎵捐褰曘€傚綋鍦? t2涓壘鍒頒竴鏉″尮閰嶇殑璁板綍鏃訛紝榪欏氨鎰忓懗鐫€ t2.id 鑲畾涓嶄細(xì)閮芥槸null錛屽氨涓嶄細(xì)鍐嶅湪 t2 涓煡鎵劇浉鍚?id鍊肩殑鍏朵粬璁板綍浜?jiǎn)銆備篃鍙互榪欎箞璇達(dá)紝瀵逛簬 t1 涓殑姣忎釜璁板綍錛宮ysql鍙渶瑕佸湪t2 涓仛涓€嬈℃煡鎵撅紝鑰屼笉綆″湪 t2 涓疄闄呮湁澶氬皯鍖歸厤鐨勮褰曘€?br /> <br /> range checked for each record (index map: #)<br /> <br /> mysql娌℃壘鍒板悎閫傜殑鍙敤鐨勭儲(chǔ)寮曘€傚彇浠g殑鍔炴硶鏄紝瀵逛簬鍓嶄竴涓〃鐨勬瘡涓€涓榪炴帴錛屽畠浼?xì)鍋氫竴涓楠屼互鍐沖畾璇ヤ嬌鐢ㄥ摢涓儲(chǔ)寮曪紙濡傛灉鏈夌殑璇濓級(jí)錛屽茍涓斾嬌鐢ㄨ繖涓儲(chǔ)寮曟潵浠庤〃閲屽彇寰楄褰曘€傝繖涓繃紼嬩笉浼?xì)寰堝揩锛屼絾鎬繪瘮娌℃湁浠諱綍绱㈠紩鏃跺仛琛ㄨ繛鎺ユ潵寰楀揩銆?br /> <br /> using filesort: mysql闇€瑕侀澶栫殑鍋氫竴閬嶄粠鑰屼互鎺掑ソ鐨勯『搴忓彇寰楄褰曘€傛帓搴忕▼搴忔牴鎹繛鎺ョ殑綾誨瀷閬嶅巻鎵€鏈夌殑璁板綍錛屽茍涓斿皢鎵€鏈夌鍚? where鏉′歡鐨勮褰曠殑瑕佹帓搴忕殑閿拰鎸囧悜璁板綍鐨勬寚閽堝瓨鍌ㄨ搗鏉ャ€傝繖浜涢敭宸茬粡鎺掑畬搴忎簡(jiǎn)錛屽搴旂殑璁板綍涔熶細(xì)鎸夌収鎺掑ソ鐨勯『搴忓彇鍑烘潵銆傝鎯呰鐪?7.2.9how mysql optimizes order by"銆?br /> using index<br /> <br /> 瀛楁鐨勪俊鎭洿鎺ヤ粠绱㈠紩鏍?wèi)涓殑淇℃伅鍙栧緱锛岃€屼笉鍐嶅幓鎵弿瀹為檯鐨勮褰曘€傝繖縐嶇瓥鐣ョ敤浜庢煡璇㈡椂鐨勫瓧孌墊槸涓€涓嫭绔嬬儲(chǔ)寮曠殑涓€閮ㄥ垎銆?br /> <br /> using temporary: mysql闇€瑕佸垱寤轟復(fù)鏃惰〃瀛樺偍緇撴灉浠ュ畬鎴愭煡璇€€傝繖縐嶆儏鍐甸€氬父鍙戠敓鍦ㄦ煡璇㈡椂鍖呭惈浜?jiǎn)groupby 鍜?order by 瀛愬彞錛屽畠浠ヤ笉鍚岀殑鏂瑰紡鍒楀嚭浜?jiǎn)鍚勪釜瀛棇D點(diǎn)€?br /> using where<br /> <br /> where瀛愬彞灝嗙敤鏉ラ檺鍒跺摢浜涜褰曞尮閰嶄簡(jiǎn)涓嬩竴涓〃鎴栬€呭彂閫佺粰瀹㈡埛绔€傞櫎闈炰綘鐗瑰埆鍦版兂瑕佸彇寰楁垨鑰呮鏌ヨ〃縐嶇殑鎵€鏈夎褰曪紝鍚﹀垯鐨勮瘽褰撴煡璇㈢殑extra 瀛楁鍊間笉鏄?using where 騫朵笖琛ㄨ繛鎺ョ被鍨嬫槸 all 鎴?index鏃跺彲鑳借〃紺烘湁闂銆?br /> <br /> <br /> 濡傛灉浣犳兂瑕佽鏌ヨ灝藉彲鑳界殑蹇紝閭d箞灝卞簲璇ユ敞鎰?extra 瀛楁鐨勫€間負(fù)usingfilesort 鍜?using temporary 鐨勬儏鍐點(diǎn)€?br /> <br /> 浣犲彲浠ラ€氳繃 explain 鐨勭粨鏋滀腑 rows瀛楁鐨勫€肩殑涔樼Н澶ф鍦扮煡閬撴湰嬈¤繛鎺ヨ〃鐜板浣曘€傚畠鍙互綺楃暐鍦板憡璇夋垜浠琺ysql鍦ㄦ煡璇㈣繃紼嬩腑浼?xì)鏌ヨ澶殲畱鏉¤褰曘€傚鏋滄槸浣跨敤緋葷粺鍙橀噺 max_join_size 鏉ュ彇寰楁煡璇㈢粨鏋滐紝榪欎釜涔樼Н榪樺彲浠ョ敤鏉ョ‘瀹氫細(xì)鎵ц鍝簺澶氳〃select 璇彞銆?br /> 涓嬮潰鐨勪緥瀛愬睍紺轟簡(jiǎn)濡備綍閫氳繃 explain鎻愪緵鐨勪俊鎭潵杈冨ぇ紼嬪害鍦頒紭鍖栧琛ㄨ仈鍚堟煡璇㈢殑鎬ц兘銆?br /> 鍋囪鏈変笅闈㈢殑 select 璇彞錛屾鎵撶畻鐢?explain 鏉ユ嫻嬶細(xì)<br /> explain select tt.ticketnumber, tt.timein, tt.projectreference,tt.estimatedshipdate, tt.actualshipdate, tt.clientid,tt.servicecodes, tt.repetitiveid, tt.currentprocess,tt.currentdppers tt.recordvolume, tt.dpprinted, et.country,et_1.country, do.custname from tt, et, et as et_1, do wherett.submittime is null and tt.actualpc = et.employid andtt.assignedpc = et_1.employid and tt.clientid = do.custnmbr;<br /> <br /> 鍦ㄨ繖涓緥瀛愪腑錛屽厛鍋氫互涓嬪亣璁撅細(xì)<br /> <br />  <br /> <br /> 瑕佹瘮杈冪殑瀛楁瀹氫箟濡備笅錛?br /> table  column  columntype <br /> tt  actualpc char(10) <br /> tt  assignedpc char(10) <br /> tt  clientid char(10) <br /> et  employid char(15) <br /> do  custnmbr char(15) <br /> <br /> <br /> 鏁版嵁琛ㄧ殑绱㈠紩濡備笅錛?br /> table  index <br /> tt  actualpc <br /> tt  assignedpc <br /> tt  clientid <br /> et  employid (primary key) <br /> do  custnmbr (primary key) <br /> <br /> <br /> tt.actualpc 鐨勫€兼槸涓嶅潎鍖€鍒嗗竷鐨勩€?br /> <br /> 鍦ㄤ換浣曚紭鍖栨帾鏂芥湭閲囧彇涔嬪墠錛岀粡榪?explain鍒嗘瀽鐨勭粨鏋滄樉紺哄涓嬶細(xì)<br /> table type possible_keys key key_len ref rows extra <br /> et all primarynull null null 74 <br /> do all primary null null null 2135 <br /> et_1 allprimary null null null 74 <br /> tt all assignedpc, null null null 3872 clientid, actualpc range checked for each record (key map: 35)<br /> <br /> 鐢變簬瀛楁 type 鐨勫浜庢瘡涓〃鍊奸兘鏄痑ll錛岃繖涓粨鏋滄剰鍛崇潃mysql瀵規(guī)墍鏈夌殑琛ㄥ仛涓€涓開鍗″皵縐紱榪欏氨鏄錛屾瘡鏉¤褰曠殑緇勫悎銆傝繖灝嗛渶瑕佽姳寰堥暱鐨勬椂闂達(dá)紝鍥犱負(fù)闇€瑕佹壂鎻忔瘡涓〃鎬? 璁板綍鏁頒箻縐殑鎬誨拰銆傚湪榪欐儏鍐典笅錛屽畠鐨勭Н鏄?4 * 2135 * 74 * 3872 = 45,268,558,720鏉¤褰曘€傚鏋滄暟鎹〃鏇村ぇ鐨勮瘽錛屼綘鍙互鎯寵薄涓€涓嬮渶瑕佸闀跨殑鏃墮棿銆?br /> 鍦ㄨ繖閲屾湁涓棶棰樻槸褰撳瓧孌靛畾涔変竴鏍風(fēng)殑鏃跺€欙紝mysql灝卞彲浠ュ湪榪欎簺瀛楁涓婃洿蹇殑鏄敤绱㈠紩錛堝isam綾誨瀷鐨勮〃鏉ヨ錛岄櫎闈炲瓧孌靛畾涔夊畬鍏ㄤ竴鏍鳳紝鍚﹀垯涓嶄細(xì)浣跨敤绱? 寮曪級(jí)銆傚湪榪欎釜鍓嶆彁涓嬶紝varchar鍜?char鏄竴鏍風(fēng)殑闄ら潪瀹冧滑瀹氫箟鐨勯暱搴︿笉涓€鑷淬€傜敱浜?tt.actualpc 瀹氫箟涓篶har(10)錛宔t.employid 瀹氫箟涓?char(15)錛屼簩鑰呴暱搴︿笉涓€鑷淬€?br /> 涓轟簡(jiǎn)瑙e喅榪欎釜闂錛岄渶瑕佺敤 alter table 鏉ュ姞澶?actualpc鐨勯暱搴︿粠10鍒?5涓瓧絎︼細(xì)<br /> mysql> alter table tt modify actualpc varchar(15);<br /> <br /> 鐜板湪 tt.actualpc 鍜?et.employid 閮芥槸 varchar(15)<br /> 浜?jiǎn)銆傚啀鏉ユ墽琛屼竴嬈?explain 璇彞鐪嬬湅緇撴灉錛?br /> table type possible_keys key key_len ref rows extra <br /> tt allassignedpc, null null null 3872 using clientid, where actualpc <br /> do all primary null null null 2135 range checked for each record (keymap: 1) <br /> et_1 all primary null null null 74 range checked for eachrecord (key map: 1) et eq_ref primary primary 15 tt.actualpc 1<br /> <br /> 榪欒繕涓嶅錛屽畠榪樺彲浠ュ仛鐨勬洿濂斤細(xì)鐜板湪 rows鍊間箻縐凡緇忓皯浜?4鍊嶃€傝繖嬈℃煡璇㈤渶瑕佺敤2縐掗挓銆?br /> 絎簩涓敼鍙樻槸娑堥櫎鍦ㄦ瘮杈?tt.assignedpc = et_1.employid 鍜?tt.clientid= do.custnmbr 涓瓧孌電殑闀垮害涓嶄竴鑷撮棶棰橈細(xì)<br /> mysql> alter table tt modify assignedpc varchar(15), ->modify clientid varchar(15);<br /> <br /> 鐜板湪 explain 鐨勭粨鏋滃涓嬶細(xì)<br /> table type possible_keys key key_len ref rows extra <br /> et all primary null null null 74 <br /> tt ref assignedpc, actualpc 15 et.employid 52 using clientid, where actualpc <br /> et_1 eq_ref primary primary 15 tt.assignedpc 1 <br /> do eq_ref primary primary 15 tt.clientid 1<br /> <br /> 榪欑湅璧鋒潵宸茬粡鏄兘鍋氱殑鏈€濂界殑緇撴灉浜?jiǎn)銆?br /> 閬楃暀涓嬫潵鐨勯棶棰樻槸錛宮ysql榛樿鍦拌涓哄瓧孌?tt.actualpc鐨勫€兼槸鍧囧寑鍒嗗竷鐨勶紝鐒惰€岃〃 tt騫墮潪濡傛銆傚垢濂斤紝鎴戜滑鍙互寰堟柟渚跨殑璁﹎ysql鍒嗘瀽绱㈠紩鐨勫垎甯冿細(xì)<br /> mysql> analyze table tt;<br /> <br /> 鍒版涓烘錛岃〃榪炴帴宸茬粡浼樺寲鐨勫緢瀹岀編浜?jiǎn)锛宔xplain 鐨勭粨鏋滃涓嬶細(xì)<br /> table type possible_keys key key_len ref rows extra <br /> tt all assignedpc null null null 3872 using clientid, where actualpc <br /> et eq_ref primary primary 15 tt.actualpc 1 <br /> et_1 eq_ref primary primary 15 tt.assignedpc 1 <br /> do eq_ref primary primary 15 tt.clientid 1<br /> <br /> 璇鋒敞鎰忥紝explain 緇撴灉涓殑 rows瀛楁鐨勫€間篃鏄痬ysql鐨勮繛鎺ヤ紭鍖栫▼搴忓ぇ鑷寸寽嫻嬬殑錛岃媯€(gè)鏌ヨ繖涓€艱窡鐪熷疄鍊兼槸鍚﹀熀鏈竴鑷淬€傚鏋滀笉鏄紝鍙互閫氳繃鍦╯elect 璇彞涓嬌鐢? straight_join 鏉ュ彇寰楁洿濂界殑鎬ц兘錛屽悓鏃跺彲浠ヨ瘯鐫€鍦╢rom鍒嗗彞涓敤涓嶅悓鐨勬搴忓垪鍑哄悇涓〃銆? <img src ="http://www.aygfsteel.com/persister/aggbug/236813.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/persister/" target="_blank">persister</a> 2008-10-27 10:40 <a href="http://www.aygfsteel.com/persister/archive/2008/10/27/236813.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> 主站蜘蛛池模板: <a href="http://" target="_blank">安陆市</a>| <a href="http://" target="_blank">科技</a>| <a href="http://" target="_blank">晴隆县</a>| <a href="http://" target="_blank">浦江县</a>| <a href="http://" target="_blank">尼木县</a>| <a href="http://" target="_blank">二连浩特市</a>| <a href="http://" target="_blank">乌兰县</a>| <a href="http://" target="_blank">汉寿县</a>| <a href="http://" target="_blank">响水县</a>| <a href="http://" target="_blank">加查县</a>| <a href="http://" target="_blank">大同市</a>| <a href="http://" target="_blank">扎鲁特旗</a>| <a href="http://" target="_blank">绵竹市</a>| <a href="http://" target="_blank">毕节市</a>| <a href="http://" target="_blank">南澳县</a>| <a href="http://" target="_blank">江口县</a>| <a href="http://" target="_blank">祁门县</a>| <a href="http://" target="_blank">来凤县</a>| <a href="http://" target="_blank">安国市</a>| <a href="http://" target="_blank">沧州市</a>| <a href="http://" target="_blank">银川市</a>| <a href="http://" target="_blank">芒康县</a>| <a href="http://" target="_blank">华容县</a>| <a href="http://" target="_blank">五华县</a>| <a href="http://" target="_blank">锡林浩特市</a>| <a href="http://" target="_blank">兴海县</a>| <a href="http://" target="_blank">贵州省</a>| <a href="http://" target="_blank">上饶市</a>| <a href="http://" target="_blank">莎车县</a>| <a href="http://" target="_blank">阳江市</a>| <a href="http://" target="_blank">广东省</a>| <a href="http://" target="_blank">双城市</a>| <a href="http://" target="_blank">洱源县</a>| <a href="http://" target="_blank">博爱县</a>| <a href="http://" target="_blank">塔城市</a>| <a href="http://" target="_blank">商丘市</a>| <a href="http://" target="_blank">赤壁市</a>| <a href="http://" target="_blank">务川</a>| <a href="http://" target="_blank">平凉市</a>| <a href="http://" target="_blank">开鲁县</a>| <a href="http://" target="_blank">凤城市</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>