How to optimize a lot of bullets?

The game I’m working on has over 100 bullets at chaotic times and it gets really laggy. The enemies instantiate them when they spawn. Attached to each is a mover script, destroyOnContact script, rigidbody2D, circle collider 2D and sprite renderer.

Could you help me find out whats the main cause of this problem? I was assuming it was the rigidbody but I can’t find a way to move the bullets without it.

edit:
Here is the code, changed it up to get rid of rigidbody which helped but still a little bit laggy on my phone.

using UnityEngine;
using System.Collections;

public class Mover : MonoBehaviour {

	public float speed;
	/*private Rigidbody2D rb;

	void Start ()
	{
		rb = GetComponent<Rigidbody2D> ();
		rb.AddForce(transform.right * speed);
	}*/

	public Vector3 Velocity;

	void Update()
	{
		transform.Translate(Velocity * Time.deltaTime * speed);    
	}
}

This isn’t exactly what i had in mind. This is ok but if the game lags there could be side effects like the bullet skipping the target. Rigidbodies are great for avoiding this.
So i think you should keep the rigidbody but assign it in the inspector before saving the bullet as prefab. Just drag and drop the Bullet object on its own script’s Rb. Another thing: “transform” in a script as the same as GetComponent(). So either use Vector2.right (this would be world space right), or save the transform too in the same way.

public class Mover : MonoBehaviour {

 public float speed; //if this is always the same: public const float speed = 5;   for example.
 public Rigidbody2D rb;

 void Start ()
 {
     rb.AddForce(Vector2.right * speed, ForceMode2D.Impulse);
 }