禁止構(gòu)建
分區(qū)表達式不支持以下幾種構(gòu)建:
存儲過程,存儲函數(shù),UDFS或者插件
聲明變量或者用戶變量
可以參考分區(qū)不支持的SQL函數(shù)
算術(shù)和邏輯運算符
分區(qū)表達式支持+,-,*算術(shù)運算,但是不支持DIV和/運算(還存在,可以查看Bug #30188, Bug #33182)。但是,結(jié)果必須是整形或者NULL(線性分區(qū)鍵除外,想了解更多信息,可以查看分區(qū)類型)。
分區(qū)表達式不支持位運算:|,&,^,<<,>>,~ .
HANDLER語句
在MySQL 5.7.1之前的分區(qū)表不支持HANDLER語句,以后的版本取消了這一限制。
服務(wù)器SQL模式
如果要用用戶自定義分區(qū)的表的話,需要注意的是,在創(chuàng)建分區(qū)表時的SQL模式是不保留的。在服務(wù)器SQL模式一章中已經(jīng)討論過,大多數(shù)MySQL函數(shù)和運算符的結(jié)果可能會根據(jù)服務(wù)器SQL模式而改變。所以,一旦SQL模式在創(chuàng)建分區(qū)表后改變,可能導(dǎo)致這些表的行為發(fā)生重大變化,很容易導(dǎo)致數(shù)據(jù)丟失或者損壞。基于以上原因,強烈建議你在創(chuàng)建分區(qū)表后千萬不要修改服務(wù)器的SQL模式。
舉個例子來說明下上述情況:
1.錯誤處理