MySQL設(shè)計(jì)局限與折衷 |
發(fā)布時(shí)間: 2012/8/30 17:32:01 |
當(dāng)使用MyISAM存儲(chǔ)引擎時(shí),MySQL使用極快速的表鎖定,以便允許多次讀或一次寫。使用該存儲(chǔ)引擎的最大問題出現(xiàn)在同一個(gè)表中進(jìn)行混合穩(wěn)定數(shù)據(jù)流更新與慢速選擇。如果這只是某些表的問題,你可以使用另一個(gè)存儲(chǔ)引擎。參見第15章:存儲(chǔ)引擎和表類型。 MySQL可以使用事務(wù)表和非事務(wù)表。為了更容易地讓非事務(wù)表順利工作(如果出現(xiàn)問題不能回滾),MySQL采用下述規(guī)則。請注意這些規(guī)則只適用于不運(yùn)行在嚴(yán)格模式下或?yàn)?span style="padding-right: 0px; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">INSERT或UPDATE使用IGNORE規(guī)定程序時(shí)。 電腦技巧www.boydavid.com · 所有列有默認(rèn)值。請注意當(dāng)運(yùn)行在嚴(yán)格SQL模式(包括TRADITIONAL SQL模式)時(shí),必須為NOT NULL列指定默認(rèn)值。 電腦軟件www.boydavid.com · 如果向列內(nèi)插入不合適的或超出范圍的值,MySQL將該列設(shè)定為“最好的可能的值”,而不是報(bào)告錯(cuò)誤。對(duì)于數(shù)字值,為0、可能的最小值或最大值。對(duì)于字符串,為空字符串或列內(nèi)可以保存的字符串。請注意當(dāng)運(yùn)行在嚴(yán)格模式或TRADITIONAL SQL模式時(shí)該行為不 適用。
· 所有表達(dá)式的計(jì)算結(jié)果返回一個(gè)表示錯(cuò)誤狀況的信號(hào)。例如,1/0返回NULL。(使用ERROR_FOR_DIVISION_BY_ZERO SQL模式可以更改該行為)。 如果正使用非事務(wù)表,不應(yīng)該使用MySQL來檢查列的內(nèi)容。一般情況,最安全的(通常是最快的)方法徑是讓應(yīng)用程序確保只向數(shù)據(jù)庫傳遞合法值。 本文出自:億恩科技【www.cmtents.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |