1 mesh, 2 materials VS 2 meshes/materials

Is there a performance difference between having 1 mesh with multiple materials assigned VS multiple meshes each with 1 material? What is the difference inside the engine? (Assuming batching is enabled)

One reason for asking is that you can share 1 material between many meshes/objects but you can not apply such a material to a mesh that has many applied (unless I am mistaken). If you drag a material onto a multi-material mesh it will only alter the first material which is a limitation in optimising imported meshes.
e.g If I have multiple car meshes imported with body material and window material each, I want to share a window material between all of them for speed and simplicity, but if the window material is the second applied to the mesh there seems to be no way to change it.

On a similar line - Could there be an optimise materials button? - which searches the project for identical materials (those with same shader, textures and colors assigned) and merge the materials to one. I guess a script could be made…

Each shader on a mesh = 1 drawcall.

So I guess 99% there is practically no difference in holding your multimaterial mesh together or splitting, for what matter RENDERING performance.