我正在編寫需要與mysql通信的應用程序。它是一個單線程應用程序,它使用epoll linux系統調用來實現多路複用客戶端,但問題是每當我對數據庫執行(大量)查詢時,所有事情都會停頓。所以我想從MySQL獲取實際套接字並將其放入我的epoll,這樣我就可以複用數據庫了。那可能嗎?C API並獲取原始套接字
回答
這比這更復雜一點。如果「一切都停滯不前」(只能猜測你的技術含義),那麼你的MySQL服務器可能已經過載了。複用單個連接不僅可能不起作用,而且也不會解決根本問題。
相反,修復您的查詢和索引,以避免發生巨大的表掃描和文件丟失。
第http://jan.kneschke.de/2008/9/9/async-mysql-queries-with-c-api/條回答這個問題。適用於MySQL 5.6。
死鏈接。 Google的緩存:http://webcache.googleusercontent.com/search?q=cache:cfftwhpBAS0J:jan.kneschke.de/2008/9/9/async-mysql-queries-with-c-api/+&cd=1&hl= en&ct = clnk&gl = us – RegularlyScheduledProgramming
也是死鏈接。 Wayback機器:https://web.archive.org/web/20140220042427/http://jan.kneschke.de/2008/9/9/async-mysql-queries-with-c-api/ – schoppenhauer
它再次活在這裏:http://jan.kneschke.de/projects/mysql/async-mysql-queries-with-c-api/ – caps
- 1. UDP - 原始套接字 - C#
- 2. Linux C原始套接字TCP握手
- 3. 使用原始套接字(C++)
- 4. 原始套接字 - C# - 設置標誌
- 5. 從套接字讀取原始數據
- 6. recv與原始套接字
- 7. 使用原始套接字
- 8. Scapy的原始套接字
- 9. Lua:原始套接字
- 10. OneNote API - 獲取原始XML
- 11. 讀取原始套接字IP標頭? C++
- 12. 從IIS請求獲取原始套接字
- 13. 如何從原始套接字獲取IP src地址
- 14. 使用原始套接字獲取SSH橫幅
- 15. 套接字異常 - 如何從套接字異常對象獲取原始套接字
- 16. Python原始套接字接收問題
- 17. Rust中的原始套接字
- 18. android上的原始套接字程序
- 19. 原始套接字監聽器
- 20. Python中的QDISC_BYPASS(原始套接字)
- 21. 原始套接字 - 網際協議層
- 22. TCL中的原始套接字
- 23. C#原始套接字接收數據包
- 24. 原始套接字不發送
- 25. 是否有Java中的原始套接字API也有幫助
- 26. 如何從Python中的套接字讀取原始字節?
- 27. java中的原始套接字
- 28. 原始套接字:不適當的ioctl
- 29. 原始UDP套接字卡住recvfrom
- 30. 單點觸摸的原始套接字
有7個數據庫請求,其中只有2個是慢速數據庫,其他數據庫使用不同的表,並且非常簡單(立即執行)。它不可能進一步優化它們,他們正在檢查將近30萬條記錄(數據傳輸日誌),所以我的問題就是這種多路複用。沒有其他的。 – Daniel
@丹尼爾:300k的記錄根本不是很多。如果這使得「一切都停滯」,那麼你的查詢和索引就會出現問題。 _那是你的問題。沒有其他的。 –
(正如我已經說過的,任意地將一個連接多路複用到數據庫不會使數據庫執行得更快,所有你要做的就是破解東西。) –