我問這個問題的原因是我想確定一些查詢是否會使用比query_cache_limit更多的內存。有人建議使用'show table status'如'table_name'。我認爲這與這個問題無關。謝謝。如何獲取用於mysql查詢的內存大小?
1
A
回答
1
結果集的大小在股票MySQL中不可用。
Percona Server確實支持此信息,通過在其擴展的慢查詢日誌格式中添加一個字段。查看此日誌中的「Bytes_sent」字段。
見http://www.percona.com/doc/percona-server/5.5/diagnostics/slow_extended_55.html#memory-footprint
+0
感謝Bill,但MySql如何判斷結果集是否超出限制?應該有一些方法來完成這項工作。 – user1342336
+0
是的,但並非所有的內部測量都暴露給用戶。 –
1
注意這不是爲微弱的心臟。並在另一個盒子上做,而不是生產!
停止mysql並在valgrind的視圖下啓動它。
做你的事一段時間。例如運行一個使用你的例程/查詢的快速PHP。
可能最多捕獲20秒的數據使用量。
然後通過下面的停止mysql停止。
然後檢查在/ tmp目錄中的日誌文件...檢查由時間戳數據
service mysql stop
apt-get install valgrind
valgrind --tool=massif --massif-out-file=/tmp/massif.out /etc/init.d/mysql start
#-----------
snapshot=32
#-----------
time=217073
mem_heap_B=1140
mem_heap_extra_B=324
mem_stacks_B=0
heap_tree=empty
#-----------
snapshot=33
#-----------
time=226099
mem_heap_B=1156
mem_heap_extra_B=332
mem_stacks_B=0
heap_tree=detailed
n3: 1156 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
n5: 944 0x40AA47: ??? (in /bin/dash)
n3: 832 0x41184C: ??? (in /bin/dash)
n1: 704 0x4120F5: ??? (in /bin/dash)
n1: 704 0x4020E4: ??? (in /bin/dash)
n0: 704 0x4E4E76B: (below main) (libc-start.c:226)
n1: 96 0x411EC0: ??? (in /bin/dash)
n1: 96 0x4048E3: ??? (in /bin/dash)
n1: 96 0x403BD5: ??? (in /bin/dash)
n1: 96 0x40A88C: ??? (in /bin/dash)
n1: 96 0x402159: ??? (in /bin/dash)
n0: 96 0x4E4E76B: (below main) (libc-start.c:226)
n1: 32 0x41212F: ??? (in /bin/dash)
n1: 32 0x4020E4: ??? (in /bin/dash)
n0: 32 0x4E4E76B: (below main) (libc-start.c:226)
相關問題
- 1. MySQL查詢用於獲取
- 2. 如何在iPhone中獲取圖像的大小(內存大小)?
- 3. mySQL查詢大小
- 4. 使用INT獲取內存大小12
- 5. MySQL查詢用於獲取獨特和
- 6. MySQL查詢選擇比大於值都大於和小於
- 7. 獲取malloc'd內存塊的大小?
- 8. 如何使用mysql查詢獲取parent_id?
- 9. 如何使用MySQL查詢獲取值?
- 10. 如何獲取該內容的大小
- 11. 如何獲取QLPreviewView的內容大小?
- 12. 如何獲取UINavigationController的內容大小?
- 13. MySQL查詢 - 獲得列值「大於......」
- 14. 區分大小寫的MySQL如查詢
- 15. 如何獲取匹配查詢ElasticSearch的數據的總大小?
- 16. 獲取緩存的mysql查詢
- 17. 如何獲取AI的MySQL查詢?
- 18. 如何獲取大內存使用率的全內存轉儲
- 19. 如何獲取數據庫上的查詢集估計大小?
- 20. 如何獲取WebView內容大小
- 21. 內部查詢的MySQL查詢緩存
- 22. 如何獲取進程中所有內存堆的總大小?
- 23. adobe flex - 如何獲取移動內部存儲的總大小
- 24. 如何獲取指針指向的內存大小?
- 25. 如何在golang中獲取變量的變量內存大小?
- 26. 有人知道如何通過MYSQL查詢獲取後期圖片大小嗎?
- 27. 用於查詢的mysql小數位置
- 28. Mysql獲取查詢
- 29. mysql內存表的大小不能增長到大於2G
- 30. MySQL的內部聯接查詢來獲取記錄不存在於其他表
當你說的內存大小的使用,我的答案我假定你的意思了業績不佳的查詢服務器的影響你想檢查。如果它只是結果集的大小或更高的級別,請通過任何方式忽略我的答案 – Drew