MySQL設計局限與折衷 |
發(fā)布時間: 2012/8/30 17:32:01 |
當使用MyISAM存儲引擎時,MySQL使用極快速的表鎖定,以便允許多次讀或一次寫。使用該存儲引擎的最大問題出現在同一個表中進行混合穩(wěn)定數據流更新與慢速選擇。如果這只是某些表的問題,你可以使用另一個存儲引擎。參見第15章:存儲引擎和表類型。 MySQL可以使用事務表和非事務表。為了更容易地讓非事務表順利工作(如果出現問題不能回滾),MySQL采用下述規(guī)則。請注意這些規(guī)則只適用于不運行在嚴格模式下或為INSERT或UPDATE使用IGNORE規(guī)定程序時。 電腦技巧www.boydavid.com · 所有列有默認值。請注意當運行在嚴格SQL模式(包括TRADITIONAL SQL模式)時,必須為NOT NULL列指定默認值。 電腦軟件www.boydavid.com · 如果向列內插入不合適的或超出范圍的值,MySQL將該列設定為“最好的可能的值”,而不是報告錯誤。對于數字值,為0、可能的最小值或最大值。對于字符串,為空字符串或列內可以保存的字符串。請注意當運行在嚴格模式或TRADITIONAL SQL模式時該行為不 適用。
· 所有表達式的計算結果返回一個表示錯誤狀況的信號。例如,1/0返回NULL。(使用ERROR_FOR_DIVISION_BY_ZERO SQL模式可以更改該行為)。 如果正使用非事務表,不應該使用MySQL來檢查列的內容。一般情況,最安全的(通常是最快的)方法徑是讓應用程序確保只向數據庫傳遞合法值。 本文出自:億恩科技【1tcdy.com】 |