It really depends on how well developed the two types are. The ideal match for a well developed ESFP is a well developed ISFJ according to theory, but if the SP is of average development, then another SP would be a better choice, however if two SP's date they will eventually grow out of eachother due to themselves being more developed and both will look for an ISJ anyway. This is only the ideal and theoretical approach though, and I think any type can be sucessful in a relatiomship with any type as long as both are well developed and both share the same values and beliefs and are compatible. If you want to find the ideal match for any type, all you have to do is take the dom function and switch the attitude (Ne with Ni, Se with Si etc) the two best matches will be the two types that share the same function, but in a different attitude. I personally think that the auxillary function determines which of the two ideal matches is more ideal by doing the same with the auxillary function (Ne-Fi with Ni-Fe) I'd rather date an INFJ than an INTJ, but I really don't care as long as I feel something for them beyond how they look. This may be a lot of info to process, but you will get it sooner or later, of course the first step in understanding the matchmaking theory is at least understanding the functional makeup of each type.