2011-03-26 38 views
0

我有一個大型表,用於根據varchar(200)類型的字段的值進行分區。我已經閱讀this question,但由於字段的大小我不能使用此解決方案。
我的問題是:我可以使用LIKE'b%'或LIKE'o%'等Like標準嗎?
如果不是,我該如何解決這個問題?如何在Mysql中使用LIKE標準對錶進行分區

由於提前,
安東尼

+0

「但因爲該領域的規模」 ---嗯,即使你已經通過VARCHAR 200個字符的限制,你可以使用該解決方案。 – zerkms 2011-03-26 13:09:04

+0

當然,但我正在尋找更直接的東西。我可以使用這個解決方案寫一個腳本,爲每個分區做類似 的分區p1小於('bzzzz ....') 199次z。 無論如何,如果我不能使用LIKE標準,我會使用該解決方案。 :) – 2011-03-26 13:15:31

+1

你不需要寫「z」199次。只要寫'小於('c')' – zerkms 2011-03-26 13:21:09

回答

1

你最好指定範圍內

less than ('c') 

這是短期和可讀性。

+0

我收到一個錯誤: '錯誤1064(42000):VALUES的值必須與''附近的分區函數的類型相同'),分區p2的值小於('e'),...' – 2011-03-26 14:08:26

+0

@Antonio F .:是的,我錯了... – zerkms 2011-03-26 14:17:02

0

似乎僅當分區是按鍵(不允許有重複值且不允許空值)時才允許在varchar上進行分區。

Here a discussion

我試圖使用一個函數,「轉換」,以整數值作爲ASCII(),但它並不在MySQL比較分隔表達支持的功能來執行分割。

List of supported functions

相關問題