# A INSERT SQL is MySQL use memory too much

**URL:** <https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500>\
**Category:** Percona Distribution for MySQL\
**Tags:** mysql\
**Created:** [May 2, 2022, 5:22am UTC](https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500 "2022-05-02T05:22:58Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jack\_tom](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/jack_tom/32/6459_2.png) [@jack\_tom](https://forums.percona.com/u/jack_tom)\
**Post date:** [May 2, 2022, 5:22am UTC](https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500/1 "2022-05-02T05:22:58Z")

</div>

when MySQL is running a insert data, the count of number is about 20w, and is about 100M but the memory useage is about more than 4G

 ![image](https://us1.discourse-cdn.com/flex019/uploads/percona1/original/2X/f/f5aeaed24e3ecf210e5d53c1c174016a1417798a.png)

the SQL memory from SELECT a.thread\_id, a.event\_name,sys.format\_bytes(CURRENT\_NUMBER\_OF\_BYTES\_USED), sql\_text FROM performance\_schema.memory\_summary\_by\_thread\_by\_event\_name a,performance\_schema.events\_statements\_current b where a.thread\_id=b.thread\_id ORDER BY CURRENT\_NUMBER\_OF\_BYTES\_USED DESC LIMIT 10; CURRENT\_NUMBER\_OF\_BYTES\_USED is about 3GB

why the SQL use so much memory

---

<div class="post-metadata">

**Author:** ![kalahariresearch](https://avatars.discourse-cdn.com/v4/letter/k/aca169/32.png) [@kalahariresearch](https://forums.percona.com/u/kalahariresearch)\
**Post date:** [May 9, 2022, 8:21am UTC](https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500/2 "2022-05-09T08:21:58Z")

</div>

@matthewb, would this be a similar issue to mine?

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [May 9, 2022, 5:35pm UTC](https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500/3 "2022-05-09T17:35:56Z")

</div>

Without seeing the entire SQL it is hard to make guesses. I suggest that you profile the query to determine if any buffers or other memory segments are allocated in order to complete the query.

---

<div class="post-metadata">

**Author:** ![jack\_tom](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/jack_tom/32/6459_2.png) [@jack\_tom](https://forums.percona.com/u/jack_tom)\
**Post date:** [May 13, 2022, 4:34pm UTC](https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500/4 "2022-05-13T16:34:03Z")

</div>

the SQL just a simple insert into table values(),(),()…;

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [May 13, 2022, 5:37pm UTC](https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500/5 "2022-05-13T17:37:50Z")

</div>

“simple” is a relative term. If you have 1000 “()” in your INSERT, that will require more memory than just 1 “()”.

---

<div class="post-metadata">

**Author:** ![jack\_tom](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/jack_tom/32/6459_2.png) [@jack\_tom](https://forums.percona.com/u/jack_tom)\
**Post date:** [May 14, 2022, 6:32am UTC](https://forums.percona.com/t/a-insert-sql-is-mysql-use-memory-too-much/15500/6 "2022-05-14T06:32:57Z")

</div>

ok  
insert into table values(),()  
…  
about 20 0000 lines number

memory use

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 1. row \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
thread\_id: 442974  
event\_name: memory/sql/THD::variables  
sys.format\_bytes(CURRENT\_NUMBER\_OF\_BYTES\_USED): 3.93 GiB  
sql\_text: INSERT INTO data

\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 2. row \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
thread\_id: 442974  
event\_name: memory/sql/thd::main\_mem\_root  
sys.format\_bytes(CURRENT\_NUMBER\_OF\_BYTES\_USED): 1.06 GiB  
sql\_text: INSERT INTO data  
the SQL is the same one
