2015-02-09 17 views

回答

1

對於大多數情況,我認爲一個簡單的答案是,只要您的查詢長度不超過您的mysql max_allowed_packet設置,具體的行數可能並不重要。

如果你認爲你的查詢,考慮到你插入的每個字段的最大字段長度,通式會像

​​3210

哪裏base_query_length是字符數(例如INSERT into xxx (field1,field2,field3) VALUES

characters_per_row是基於每個字段的理論最大值的每行的最大長度。如果您的數據庫計劃得很好,並且您的輸入已經過驗證以支持這些限制,那麼您應該能夠根據數據庫中的長度限制來解決這個問題。注意你還需要考慮到空間爲主導(,尾隨),分離行數據集之間,,引號字符串值等

注意我沒有做任何研究,來支持這個答案 - 這在我看來似乎有意義。如果任何人能夠證明我的假設或提供任何錯誤的更正,請在評論或修改我的答案中這樣做。

+0

請問您能解釋一下'max_allowed_pa​​cket'是什麼意思?我是PHP和MySQL的新手。我假設這會檢查上傳是否超過我的數據庫允許的存儲空間? – 2015-02-09 07:01:17

+0

實際上,該變量表示我自己將接受的最大查詢長度。看到這個問題/答案的更多信息:http://stackoverflow.com/q/16335011/3180129 – 2015-02-09 07:06:56

+0

大概你的意思是「MySQL」不是「我自己」:P – 2015-02-09 07:11:46