Recently wanted to get logical names of 25 columns at one go. Business analyst provided us with display names. One colleague of mine quickly told me about a workaround from database to read all at one go

Select ll.Label, Attr.LogicalName From LocalizedLabelAsIfPublishedView ll

INNER JOIN Attribute attr

ON ll.ObjectId = attr.AttributeId

INNER JOIN EntityView ev ON ev.EntityId = attr.EntityId

WHERE ev.ObjectTypeCode = EntityTypeCode and ll.ObjectColumnName in (‘DisplayName1’,

‘DisplayName2’)