What you mainly want to consider when deciding between a spellbook or a shield is > How many melee hits will i take?

What the shield does is blocking damage from melee hits (Ranged attacks are not reduced by shields, they are only effected by armor). Your total defense will be the sum of your shields/spellbook defense and the defense modifier of the weapon regardless of which part has the higher base defense.

Let's look at an example. For this formula i'm going to assume you have a Royal Scale Robe (Arm: 12), Yalahari Mask(Arm: 5), Gill Legs (Arm: 7), Foxtail Amulet(Arm: 2) and a Butterfly Ring(Arm: 2). Your Total armor would be 28. I'm assuming your shielding is at around 28.

The melee damage of a Lizard High Guard (according to wiki) ranges from 0 to 261.

Using a Mastermind Shield(Def: 37) and the Magic Sword (+3) makes you have 40 defense.

The formula is as follows > Damage - (Defense * Shielding * (Defense Factor/100)) - (Damage/100 * Armor)

Defense Factor is defined by the stance you are using. Full attack equals 5, balanced equals 7 and defensive equals 10. Since mages always use defensive stance unless your doing something silly we will use that.

(Anything from 0 to 261) - (40 * 28 * 0.1) - (1.3 * 28)

This results in any damage below 150 basically being negated. Your set blocks ~150 damage.

If we now use the same formula with, let's just assume you're rich, a spellbook of ancient arcana(Def: 19) we get this

(Anything from 0 to 261) - (22 * 28 * 0.1) - (1.3 * 28)

This results in any damage below 100 basically being negated. On average this set would block ~100 damage.

These calculations are neglecting the physical% protection of the foxtail amulet and ignoring the fact that getting hit more than twice a turn with melee will change calculations by a bit.

Now we have to consider the extra healing from the spellbook aswell. I'm going to assume your base ML is 75 and you are not using magic level imbuements. With the assumed set you magic level would be 81 vs 85 with the spellbook.

Your Exura Gran would heal for 408 on ml 81 vs 426 on ml 85 on average while your Exura Vita would heal for an average of 894 vs. 934.

On ml 81 Avas do an avarage damage of 206 while frigo ue avarages at 736, both prior to resistances. At ml 85 those do an avarage of 214 and 760.

Concluding this post I will say it is personal preference and how comfortable you are inside the spawn. If you tend to get hit melee a lot carrying a shield will block tons of damage. The extra magic level at this point mainly benefits your damage since on average a single exura vita will refill your hp bar to full anyways.