2013-05-07 52 views
0

我一直在調查我們的MySQL/C++應用程序的網絡性能。我發現我們的客戶端使用ASCII字面值從MYSQL C-Connector讀取所有值(整數,雙精度等)。這意味着服務器將數字作爲文本發送給客戶端(例如,int 123的字符串「123」)。我們在這個應用程序中的所有數據都由數值(整數和雙精度)組成,所以我想知道:我可以強制MySQL將數值作爲二進制傳輸嗎?

有沒有辦法強制MySQL服務器以二進制格式而不是ASCII格式傳輸數值?

+0

這並不一定意味着。這可能只意味着連接器正在將二進制文件轉換爲文本。 – EJP 2013-05-08 00:05:14

+0

公平點,那麼有沒有辦法告訴連接器不要執行從二進制到文本的轉換? – 2013-05-08 00:07:54

回答

0

使用壓縮連接。尋找UseCompressionthe docs

+0

我考慮過這個,但看起來這個選項會導致很多不必要的轉換。即在服務器端:二進制到ASCII,然後壓縮;在客戶端:解壓縮,並從ASCII轉換爲二進制。如果我們可以放棄這4個操作,那麼我們會在服務器和客戶端節省寶貴的CPU週期。 – 2013-05-08 00:06:20

+0

你對什麼是和不高效做出了一些非常大膽的假設。你有沒有在這裏做過任何基準測試,或者你只是在猜測? – duskwuff 2013-05-08 00:08:13

+0

你是否啓用了壓縮的應用程序基準測試?在處理網絡時,通常瓶頸是物理鏈路,而不是壓縮/解壓縮(實際上這很常見)。你指的是什麼樣的網絡?一個千兆以太網光纖鏈路或一個鬆散的56k調制解調器連接?) – 2013-05-08 00:09:32

相關問題