Input Btn is not respond, Yes, i did put input into update not fixedupdate

I did put input into Update() but it should not response well

i have to many time in order the z button to response

https://www.loom.com/share/f54c1b3020314baa8093f6deb79d2e9e

link demo

I am not sure what went wrong, anyone pls do point out what went wrong

Cheers, your help is most appreciated

Code:

public const string zPressDashing = "zPressDashing";
string buttonPressed;

 void Update()
 {
        if (Input.GetKeyDown(KeyCode.Z))
        {
            Debug.Log("pressed z");
            buttonPressed = zPressDashing;
        } 
        else
        {
            buttonPressed = null;
        }
}
private void FixedUpdate()
{
        if (buttonPressed == zPressDashing)
        {
            body.AddForce(new Vector2(-50f, 0f));
            Debug.Log("i m dashing");
        } 
}

=.=
i just move
if (buttonPressed == zPressDashing)
{
body.AddForce(new Vector2(-50f, 0f));
Debug.Log(“i m dashing”);
}

to update()
and it work !!!

shouldn’t all physics(any related to rigidbody) should be inside fixedupdate?
i heard it from youtube

any pro seeing, pls explain when to should be fixedupdate ? and when it is for update() ?
Putting everything in update() will it affect performance? since it is running 60 times in sec?